diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 6202c84f320..b665183a37b 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -30,6 +30,7 @@ set(INC ../blenloader ../blentranslation ../depsgraph + ../draw ../gpu ../ikplugin ../imbuf diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index 7b8ad5eaa83..ad5a5081e11 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -44,6 +44,8 @@ #include "DNA_node_types.h" #include "DNA_scene_types.h" +#include "DRW_engine.h" + #include "MEM_guardedalloc.h" /* prototype */ @@ -820,8 +822,7 @@ static void layer_collection_create_mode_settings_object(ListBase *lb) ces->type = COLLECTION_MODE_OBJECT; /* properties */ - BKE_collection_engine_property_add_int(ces, "show_wire", false); - BKE_collection_engine_property_add_int(ces, "show_backface_culling", false); + OBJECT_collection_settings_create(ces); BLI_addtail(lb, ces); } @@ -835,7 +836,7 @@ static void layer_collection_create_mode_settings_edit(ListBase *lb) ces->type = COLLECTION_MODE_EDIT; /* properties */ - BKE_collection_engine_property_add_int(ces, "show_occlude_wire", false); + EDIT_collection_settings_create(ces); BLI_addtail(lb, ces); } diff --git a/source/blender/draw/DRW_engine.h b/source/blender/draw/DRW_engine.h index 4f86e3fcd91..f5ac6e4c6c1 100644 --- a/source/blender/draw/DRW_engine.h +++ b/source/blender/draw/DRW_engine.h @@ -28,6 +28,7 @@ //#define WITH_VIEWPORT_CACHE_TEST +struct CollectionEngineSettings; struct DRWPass; struct Material; struct Scene; @@ -42,4 +43,8 @@ void DRW_pass_free(struct DRWPass *pass); void *DRW_material_settings_get(struct Material *ma, const char *engine_name); void *DRW_render_settings_get(struct Scene *scene, const char *engine_name); -#endif /* __DRW_ENGINE_H__ */ \ No newline at end of file +/* Mode engines initialization */ +void OBJECT_collection_settings_create(struct CollectionEngineSettings *ces); +void EDIT_collection_settings_create(struct CollectionEngineSettings *ces); + +#endif /* __DRW_ENGINE_H__ */ diff --git a/source/blender/draw/modes/edit_mode.c b/source/blender/draw/modes/edit_mode.c index 83c9cdd1901..93b8e026fd9 100644 --- a/source/blender/draw/modes/edit_mode.c +++ b/source/blender/draw/modes/edit_mode.c @@ -23,6 +23,7 @@ * \ingroup draw */ +#include "DRW_engine.h" #include "DRW_render.h" #include "draw_mode_pass.h" @@ -104,4 +105,10 @@ void EDIT_draw(void) DRW_draw_pass(psl->wire_outline_pass); DRW_draw_pass(psl->non_meshes_pass); DRW_draw_pass(psl->ob_center_pass); -} \ No newline at end of file +} + +void EDIT_collection_settings_create(CollectionEngineSettings *ces) +{ + BLI_assert(ces); + BKE_collection_engine_property_add_int(ces, "show_occlude_wire", false); +} diff --git a/source/blender/draw/modes/edit_mode.h b/source/blender/draw/modes/edit_mode.h index 241450ac2b3..66079e96728 100644 --- a/source/blender/draw/modes/edit_mode.h +++ b/source/blender/draw/modes/edit_mode.h @@ -26,8 +26,10 @@ #ifndef __EDIT_MODE_H__ #define __EDIT_MODE_H__ +struct Object; + void EDIT_cache_init(void); -void EDIT_cache_populate(Object *ob); +void EDIT_cache_populate(struct Object *ob); void EDIT_cache_finish(void); void EDIT_draw(void); diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 2b553ffcdbc..5c05ca1e819 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -23,6 +23,7 @@ * \ingroup draw */ +#include "DRW_engine.h" #include "DRW_render.h" #include "draw_mode_pass.h" @@ -88,4 +89,11 @@ void OBJECT_draw(void) DRW_draw_pass(psl->wire_outline_pass); DRW_draw_pass(psl->non_meshes_pass); DRW_draw_pass(psl->ob_center_pass); -} \ No newline at end of file +} + +void OBJECT_collection_settings_create(CollectionEngineSettings *ces) +{ + BLI_assert(ces); + BKE_collection_engine_property_add_int(ces, "show_wire", false); + BKE_collection_engine_property_add_int(ces, "show_backface_culling", false); +} diff --git a/source/blender/draw/modes/object_mode.h b/source/blender/draw/modes/object_mode.h index 7cd66d608e7..fda9096203d 100644 --- a/source/blender/draw/modes/object_mode.h +++ b/source/blender/draw/modes/object_mode.h @@ -26,8 +26,10 @@ #ifndef __OBJECT_MODE_H__ #define __OBJECT_MODE_H__ +struct Object; + void OBJECT_cache_init(void); -void OBJECT_cache_populate(Object *ob); +void OBJECT_cache_populate(struct Object *ob); void OBJECT_cache_finish(void); void OBJECT_draw(void);