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:
authorJulian Eisel <eiseljulian@gmail.com>2016-12-01 18:43:57 +0300
committerJulian Eisel <eiseljulian@gmail.com>2016-12-01 19:19:58 +0300
commit52ec96251692a5e5a8f452eecb9e52e9ee7465c8 (patch)
treec06e7f05ab02fc2c921685736f8de01d11f3f6cb /source/blender/editors/render/render_preview.c
parent4ff4dbc0abc04020ff2608d1c7abc8eafd160c88 (diff)
UI: Previews for screen layouts
Basically all this does is drawing layout previews into the opened layout search menu. https://youtu.be/RHYWtZP7pyA The previews are drawn using offscreen rendering so they can't use multi-threading (yet!). But that shouldn't be an issue since only a handful of previews are drawn at the same time. Normally we only need to redraw the preview if a screen layout was changed. Would be nice if PreviewImage could store if it supports threaded rendering. Previews are saved in files, might be useful if you later want to support appending layouts. Adds a new file screen_draw.c.
Diffstat (limited to 'source/blender/editors/render/render_preview.c')
-rw-r--r--source/blender/editors/render/render_preview.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 87c08dc6583..c48e142f233 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -94,6 +94,7 @@
#include "ED_datafiles.h"
#include "ED_render.h"
+#include "ED_screen.h"
#ifndef NDEBUG
/* Used for database init assert(). */
@@ -1022,6 +1023,12 @@ static void icon_preview_startjob(void *customdata, short *stop, short *do_updat
*do_update = true;
}
+ else if (idtype == ID_SCR) {
+ bScreen *screen = (bScreen *)id;
+
+ ED_screen_preview_render(screen, sp->sizex, sp->sizey, sp->pr_rect);
+ *do_update = true;
+ }
else {
/* re-use shader job */
shader_preview_startjob(customdata, stop, do_update);