diff options
author | Ton Roosendaal <ton@blender.org> | 2003-10-15 16:26:26 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2003-10-15 16:26:26 +0400 |
commit | 6480956c5854cb8bcd21c76b57f3d9287fe0d430 (patch) | |
tree | 3c7a5f7ec316b800f6ea70d0f848445f4d948639 /source/blender/include/BIF_space.h | |
parent | 0c1bad34c76443bcf254fdc8d1f807af097f0902 (diff) |
- expanded internal windowmanager that it allows button panels in any
window (type)
- each SpaceData struct (not the window!) can get 'block handlers'
assigned, basically event codes that invoke drawing button panels.
- this is saved in files, and Panels behave in any window like it does now
in buttonswindow
- it also means that a 'space window' should leave with a matrix set for
buttons level
- try it in view3d header menu, 'view'->'backdrop'. this opens the old
viewbuttons
- it all works non blocking! instant updates of viewbuttons visible in
3d window now.
Not done yet:
- checking and fixing frontbuffer drawing (select a wireframe draws over)
- temporally vertices cannot be selected, is my next project
- closing or hiding Panels...
- styling stuff... i committed for others to review as well.
Have fun. this is certainly a huge improvement over the old viewbuttons!
Diffstat (limited to 'source/blender/include/BIF_space.h')
-rw-r--r-- | source/blender/include/BIF_space.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/include/BIF_space.h b/source/blender/include/BIF_space.h index 7ef1e7085f0..aface0285b6 100644 --- a/source/blender/include/BIF_space.h +++ b/source/blender/include/BIF_space.h @@ -46,6 +46,18 @@ struct BWinEvent; #define BUT_HORIZONTAL 1 #define BUT_VERTICAL 2 +/* is hardcoded in DNA_space_types.h */ +#define SPACE_MAXHANDLER 8 + +/* view3d handler codes */ +#define VIEW3D_HANDLER_SETTINGS 1 +#define VIEW3D_HANDLER_OBJECT 2 +#define VIEW3D_HANDLER_VERTEX 3 + +/* ipo handler codes */ +#define IPO_HANDLER_SETTINGS 20 + + void scrarea_do_windraw (struct ScrArea *sa); void scrarea_do_winchange (struct ScrArea *sa); @@ -54,6 +66,9 @@ void scrarea_do_headdraw (struct ScrArea *sa); void scrarea_do_headchange (struct ScrArea *sa); /* space.c */ +extern void add_blockhandler(struct ScrArea *sa, short eventcode); +extern void rem_blockhandler(struct ScrArea *sa, short eventcode); + extern void space_set_commmandline_options(void); extern void allqueue(unsigned short event, short val); extern void allspace(unsigned short event, short val); |