[Bf-blender-cvs] [1ed20a692f] blender2.8: Follow up on mode engine code separation

Dalai Felinto noreply at git.blender.org
Fri Feb 17 17:54:12 CET 2017


Commit: 1ed20a692ffe23f5f1efd6a2baf89aaecb45b190
Author: Dalai Felinto
Date:   Fri Feb 17 17:53:51 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB1ed20a692ffe23f5f1efd6a2baf89aaecb45b190

Follow up on mode engine code separation

The settings initialization belong within the engines

===================================================================

M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/intern/layer.c
M	source/blender/draw/DRW_engine.h
M	source/blender/draw/modes/edit_mode.c
M	source/blender/draw/modes/edit_mode.h
M	source/blender/draw/modes/object_mode.c
M	source/blender/draw/modes/object_mode.h

===================================================================

diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 6202c84f32..b665183a37 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 7b8ad5eaa8..ad5a5081e1 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 4f86e3fcd9..f5ac6e4c6c 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 83c9cdd190..93b8e026fd 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 241450ac2b..66079e9672 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 2b553ffcdb..5c05ca1e81 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 7cd66d608e..fda9096203 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);




More information about the Bf-blender-cvs mailing list