Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormano-wii <germano.costa@ig.com.br>2019-08-12 18:10:44 +0300
committermano-wii <germano.costa@ig.com.br>2019-08-12 18:10:44 +0300
commit44d95cbf9561a3b8840fb2145c22e0411d22f26d (patch)
treee0ed28bf7fc2e92a21afb0d14c9ab76b304676fd /source/blender/draw/DRW_select_buffer.h
parent37b4384b59c09684ac4ece5e39bf20187968f737 (diff)
Cleanup: DRW manager: Move `select_buffer.c` utilities out of the selection engine internals
Diffstat (limited to 'source/blender/draw/DRW_select_buffer.h')
-rw-r--r--source/blender/draw/DRW_select_buffer.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/source/blender/draw/DRW_select_buffer.h b/source/blender/draw/DRW_select_buffer.h
index cc3cb94175a..48fdbdfd803 100644
--- a/source/blender/draw/DRW_select_buffer.h
+++ b/source/blender/draw/DRW_select_buffer.h
@@ -33,6 +33,36 @@ struct View3D;
struct ViewLayer;
struct rcti;
+struct BaseOffset {
+ /* For convenience only. */
+ union {
+ uint offset;
+ uint face_start;
+ };
+ union {
+ uint face;
+ uint edge_start;
+ };
+ union {
+ uint edge;
+ uint vert_start;
+ };
+ uint vert;
+};
+
+struct SELECTID_Context {
+ struct GPUFrameBuffer *framebuffer_select_id;
+ struct GPUTexture *texture_u32;
+
+ struct BaseOffset *index_offsets;
+ uint objects_len;
+ uint last_object_drawn;
+ /** Total number of items `base_array_index_offsets[bases_len - 1].vert`. */
+ uint last_index_drawn;
+
+ short select_mode;
+};
+
/* select_buffer.c */
void DRW_select_buffer_context_create(struct Base **bases,
const uint bases_len,
@@ -62,4 +92,7 @@ uint DRW_select_buffer_find_nearest_to_point(const int center[2],
const uint id_max,
uint *dist);
+/* select_engine.c */
+struct SELECTID_Context *DRW_select_engine_context_get(void);
+
#endif /* __DRW_SELECT_BUFFER_H__ */