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:
authorCampbell Barton <ideasman42@gmail.com>2017-04-26 09:52:02 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-04-26 09:52:02 +0300
commitde0d3ec45764fadcf4c8f6452f0085805f4bea87 (patch)
tree87e0e6ce1ee5774bff29af3c279f7c051c7d2e45
parent5634763e5efbf78feb985973272185774c9d25b8 (diff)
Allow new selection in eevee & blender draw modes
-rw-r--r--source/blender/draw/intern/draw_manager.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 0531e94396b..007ef3ad625 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1742,10 +1742,10 @@ static void DRW_engines_enable_from_engine(const Scene *scene)
/* TODO layers */
RenderEngineType *type = RE_engines_find(scene->r.engine);
use_drw_engine(type->draw_engine);
+}
- /* TODO Refine the folowing logic based on objects states
- * not on global state.
- * Order is important */
+static void DRW_engines_enable_from_object_mode(void)
+{
use_drw_engine(&draw_engine_object_type);
}
@@ -1799,11 +1799,18 @@ static void DRW_engines_enable_from_mode(int mode)
}
}
+static void DRW_engines_enable_select(void)
+{
+ /* TODO, add select engine */
+ use_drw_engine(viewport_clay_type.draw_engine);
+}
+
static void DRW_engines_enable(const bContext *C)
{
Scene *scene = CTX_data_scene(C);
const int mode = CTX_data_mode_enum(C);
DRW_engines_enable_from_engine(scene);
+ DRW_engines_enable_from_object_mode();
DRW_engines_enable_from_mode(mode);
}
@@ -2076,7 +2083,8 @@ void DRW_draw_select_loop(
DRW_engines_enable_from_mode(obedit_mode);
}
else {
- DRW_engines_enable_from_engine(scene);
+ DRW_engines_enable_select();
+ DRW_engines_enable_from_object_mode();
}
/* Setup viewport */