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.
This commit is contained in:
2017-06-08 20:25:20 +02:00
parent 1ee5d08c95
commit cadb950490
2 changed files with 11 additions and 1 deletions

View File

@@ -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));

View File

@@ -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);
}
/** \} */