[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