diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-09 16:55:45 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-09 16:55:45 +0300 |
commit | c7fa55eebdd74812c5bd993e8ec54ec5b04197f2 (patch) | |
tree | 823862dd9602abdc6329fa2385f3384db8e0f933 /source/blender/windowmanager/wm.h | |
parent | a93e253103a222063d71c1628d0ac7729de813ca (diff) |
2.5
Vertex Paint back!
Added WM level "paint cursor" system, which manages a custom painting
cursor for tools or modes.
- Activate it with WM_paint_cursor_activate(). That function wants two
callbacks, a poll(C) to check whether there's a cursor in given context
and ARegion, and a draw(C, x, y) which gets called when appropriate.
- While paintcursor is active, the WM handles necessary redrawing events
for all regions, also to nicely clear the cursor on region exit.
- WM_paint_cursor_activate returns a handle, which you have to use to
end the paint cursor. This handle also means you can register as many
custom cursors as you want.
At the moment, vertex paint mode registers only a mousemove handler,
all other events are still normally handled. This is stuff for the
future todo.
Diffstat (limited to 'source/blender/windowmanager/wm.h')
-rw-r--r-- | source/blender/windowmanager/wm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h index 1835a475323..c063226b96f 100644 --- a/source/blender/windowmanager/wm.h +++ b/source/blender/windowmanager/wm.h @@ -30,6 +30,13 @@ struct wmWindow; +typedef struct wmPaintCursor { + struct wmPaintCursor *next, *prev; + + int (*poll)(struct bContext *C); + void (*draw)(bContext *C, int, int); +} wmPaintCursor; + extern void wm_close_and_free(bContext *C, wmWindowManager *); extern void wm_close_and_free_all(bContext *C, ListBase *); |