diff options
Diffstat (limited to 'source/blender/editors/include/ED_render.h')
-rw-r--r-- | source/blender/editors/include/ED_render.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h index 5cdcbbab42a..f60d62ed384 100644 --- a/source/blender/editors/include/ED_render.h +++ b/source/blender/editors/include/ED_render.h @@ -41,6 +41,7 @@ struct bContext; struct bScreen; struct wmWindow; struct wmWindowManager; +enum eIconSizes; /* render_ops.c */ @@ -55,7 +56,14 @@ void ED_render_view_layer_changed(struct Main *bmain, struct bScreen *screen); /* Callbacks handling data update events coming from depsgraph. */ void ED_render_id_flush_update(const struct DEGEditorUpdateContext *update_ctx, struct ID *id); +/** + * Update all 3D viewport render and draw engines on changes to the scene. + * This is called by the dependency graph when it detects changes. + */ void ED_render_scene_update(const struct DEGEditorUpdateContext *update_ctx, const bool updated); +/** + * Update 3D viewport render or draw engine on changes to the scene or view settings. + */ void ED_render_view3d_update(struct Depsgraph *depsgraph, struct wmWindow *window, struct ScrArea *area, @@ -69,19 +77,22 @@ struct Scene *ED_render_job_get_current_scene(const struct bContext *C); * pr_method: * - PR_BUTS_RENDER: preview is rendered for buttons window * - PR_ICON_RENDER: preview is rendered for icons. hopefully fast enough for at least 32x32 - * - PR_NODE_RENDER: preview is rendered for node editor * - PR_ICON_DEFERRED: No render, we just ensure deferred icon data gets generated. */ typedef enum ePreviewRenderMethod { PR_BUTS_RENDER = 0, PR_ICON_RENDER = 1, - PR_NODE_RENDER = 2, - PR_ICON_DEFERRED = 3, + PR_ICON_DEFERRED = 2, } ePreviewRenderMethod; void ED_preview_ensure_dbase(void); void ED_preview_free_dbase(void); +/** + * Check if \a id is supported by the automatic preview render. + */ +bool ED_preview_id_is_supported(const struct ID *id); + void ED_preview_shader_job(const struct bContext *C, void *owner, struct ID *id, @@ -103,6 +114,11 @@ void ED_preview_icon_job(const struct bContext *C, int sizex, int sizey, const bool delay); + +void ED_preview_restart_queue_free(void); +void ED_preview_restart_queue_add(struct ID *id, enum eIconSizes size); +void ED_preview_restart_queue_work(const struct bContext *C); + void ED_preview_kill_jobs(struct wmWindowManager *wm, struct Main *bmain); void ED_preview_draw(const struct bContext *C, void *idp, void *parentp, void *slot, rcti *rect); |