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:
authorMatt Ebb <matt@mke3.net>2010-05-27 12:22:16 +0400
committerMatt Ebb <matt@mke3.net>2010-05-27 12:22:16 +0400
commit6e92ddf8b37dbfae733a9738a20777917610b4a0 (patch)
tree4f92654d234a24a85918f5ec37ad1a9e4d819e63 /source/blender/windowmanager/WM_api.h
parentec70356424d687cb1cdb8cb80095a5593937e03a (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.h7
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 *));