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:
authorTon Roosendaal <ton@blender.org>2008-12-22 15:57:53 +0300
committerTon Roosendaal <ton@blender.org>2008-12-22 15:57:53 +0300
commit9e38e6aeb03e29d053679141134875edbff23d4a (patch)
tree2b52f73663939e9ce2ed166536d416132024f6d0 /source/blender/makesdna
parent5e443fd45dcd753868e7578b08692c158e8ad657 (diff)
2.5
Better implementation of own window timers, not using ghost. That makes blender's WM nice in control, and gives callers of timers the opportunitie to evaluate time passed since previous step. This system also only generates one timer event per main loop (events - handlers - notifiers - draw) Small fix: allow keymap modifier to give KM_ANY to ignore modifier keys, this to have TIMER keymap work.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_screen_types.h3
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index c932c0bd1b7..a15c57d6700 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -38,6 +38,7 @@ struct SpaceType;
struct SpaceLink;
struct ARegionType;
struct Scene;
+struct wmTimer;
typedef struct bScreen {
ID id;
@@ -58,6 +59,8 @@ typedef struct bScreen {
short mainwin; /* screensize subwindow, for screenedges and global menus */
short subwinactive; /* active subwindow */
+ struct wmTimer *animtimer; /* if set, screen has timer handler added in window */
+
short handler[8]; /* similar to space handler */
} bScreen;
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 874dd86e419..41123361b16 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -47,7 +47,7 @@ struct wmLocal;
struct bScreen;
struct uiBlock;
struct wmSubWindow;
-struct wmTimerHandle;
+struct wmTimer;
struct StructRNA;
struct PointerRNA;
@@ -94,7 +94,7 @@ typedef struct wmWindow {
struct wmSubWindow *curswin; /* internal for wm_subwindow.c only */
- struct wmTimerHandle *animtimer;
+ ListBase timers;
ListBase queue; /* all events (ghost level events were handled) */
ListBase handlers; /* window+screen handlers, overriding all queues */