diff options
author | Matt Ebb <matt@mke3.net> | 2010-05-27 12:22:16 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-05-27 12:22:16 +0400 |
commit | 6e92ddf8b37dbfae733a9738a20777917610b4a0 (patch) | |
tree | 4f92654d234a24a85918f5ec37ad1a9e4d819e63 /source/blender/windowmanager/WM_api.h | |
parent | ec70356424d687cb1cdb8cb80095a5593937e03a (diff) |
Progress indicators for threaded jobs
Now, rather than the bit-too-alarming stop sign, threaded wmJobs
display a progress indicator in the header. This is an optional feature
for each job type and still uses the same hardcoded ui template
(could use further work here...).
Currently implemented for:
Render - parts completed, then nodes comped
Compositor - nodes comped
Fluid Sim - frames simulated
Texture Bake - faces baked
Example: http://mke3.net/blender/devel/2.5/progress.mov
Diffstat (limited to 'source/blender/windowmanager/WM_api.h')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 070b03dd195..40186f40e9d 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -299,15 +299,18 @@ int WM_framebuffer_to_index(unsigned int col); /* threaded Jobs Manager */ #define WM_JOB_PRIORITY 1 #define WM_JOB_EXCL_RENDER 2 +#define WM_JOB_PROGRESS 4 -struct wmJob *WM_jobs_get(struct wmWindowManager *wm, struct wmWindow *win, void *owner, int flag); +struct wmJob *WM_jobs_get(struct wmWindowManager *wm, struct wmWindow *win, void *owner, char *name, int flag); int WM_jobs_test(struct wmWindowManager *wm, void *owner); +float WM_jobs_progress(struct wmWindowManager *wm, void *owner); +char *WM_jobs_name(struct wmWindowManager *wm, void *owner); void WM_jobs_customdata(struct wmJob *, void *customdata, void (*free)(void *)); void WM_jobs_timer(struct wmJob *, double timestep, unsigned int note, unsigned int endnote); void WM_jobs_callbacks(struct wmJob *, - void (*startjob)(void *, short *, short *), + void (*startjob)(void *, short *, short *, float *), void (*initjob)(void *), void (*update)(void *), void (*endjob)(void *)); |