[Bf-blender-cvs] [cadb9504908] blender2.8: Draw Manager: Add request redraw method.

Clément Foucault noreply at git.blender.org
Fri Jun 9 01:27:23 CEST 2017


Commit: cadb950490871c51a6de5b5f538bac78a865b4e2
Author: Clément Foucault
Date:   Thu Jun 8 20:25:20 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBcadb950490871c51a6de5b5f538bac78a865b4e2

Draw Manager: Add request redraw method.

This is extremly hacky and against notifier design. This must be revisited later.
We might want to mimic external renderer way of requesting redraw.

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

M	source/blender/draw/intern/DRW_render.h
M	source/blender/draw/intern/draw_manager.c

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

diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index ed308954fd9..37b67cd1237 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -335,6 +335,8 @@ bool DRW_viewport_is_persp_get(void);
 struct DefaultFramebufferList *DRW_viewport_framebuffer_list_get(void);
 struct DefaultTextureList     *DRW_viewport_texture_list_get(void);
 
+void DRW_viewport_request_redraw(void);
+
 /* SceneLayers */
 void **DRW_scene_layer_engine_data_get(DrawEngineType *engine_type, void (*callback)(void *storage));
 
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 1edfcd3c1ed..40991a5e707 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -75,13 +75,15 @@
 #include "UI_interface.h"
 #include "UI_resources.h"
 
+#include "WM_api.h"
+#include "WM_types.h"
+
 #include "draw_manager_text.h"
 
 /* only for callbacks */
 #include "draw_cache_impl.h"
 
 #include "draw_mode_engines.h"
-
 #include "engines/clay/clay_engine.h"
 #include "engines/eevee/eevee_engine.h"
 #include "engines/basic/basic_engine.h"
@@ -2291,6 +2293,12 @@ DefaultTextureList *DRW_viewport_texture_list_get(void)
 	return GPU_viewport_texture_list_get(DST.viewport);
 }
 
+void DRW_viewport_request_redraw(void)
+{
+	/* XXXXXXXXXXX HAAAAAAAACKKKK */
+	WM_main_add_notifier(NC_MATERIAL | ND_SHADING_DRAW, NULL);
+}
+
 /** \} */




More information about the Bf-blender-cvs mailing list