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 | |
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')
-rw-r--r-- | source/blender/include/BIF_interface.h | 2 | ||||
-rw-r--r-- | source/blender/include/BIF_mywindow.h | 3 | ||||
-rw-r--r-- | source/blender/include/BIF_space.h | 15 | ||||
-rw-r--r-- | source/blender/include/BSE_drawview.h | 3 | ||||
-rw-r--r-- | source/blender/include/interface.h | 3 |
5 files changed, 25 insertions, 1 deletions
diff --git a/source/blender/include/BIF_interface.h b/source/blender/include/BIF_interface.h index 8f65505443f..1b91d6a6c31 100644 --- a/source/blender/include/BIF_interface.h +++ b/source/blender/include/BIF_interface.h @@ -154,7 +154,7 @@ void uiPanelPush(uiBlock *block); void uiPanelPop(uiBlock *block); extern uiBlock *uiFindOpenPanelBlockName(ListBase *lb, char *name); extern int uiAlignPanelStep(struct ScrArea *sa, float fac); - +extern void uiSetPanelStyle(int); #endif /* BIF_INTERFACE_H */ diff --git a/source/blender/include/BIF_mywindow.h b/source/blender/include/BIF_mywindow.h index c16098f1f17..40896eec8ff 100644 --- a/source/blender/include/BIF_mywindow.h +++ b/source/blender/include/BIF_mywindow.h @@ -85,6 +85,8 @@ void bwin_load_winmatrix(int winid, float mat[][4]); void bwin_get_viewmatrix(int winid, float mat[][4]); void bwin_get_winmatrix(int winid, float mat[][4]); +void bwin_scalematrix(int winid, float x, float y, float z); + void bwin_ortho(int winid, float x1, float x2, float y1, float y2, float n, float f); void bwin_ortho2(int win, float x1, float x2, float y1, float y2); void bwin_frustum(int winid, float x1, float x2, float y1, float y2, float n, float f); @@ -100,6 +102,7 @@ void myswapbuffers(void); void mygetmatrix(float mat[][4]); void mymultmatrix(float [][4]); + void myloadmatrix(float mat[][4]); void mywinset(int wid); void myortho(float x1, float x2, float y1, float y2, float n, float f); 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); diff --git a/source/blender/include/BSE_drawview.h b/source/blender/include/BSE_drawview.h index 299c697a30f..c98f75e9a43 100644 --- a/source/blender/include/BSE_drawview.h +++ b/source/blender/include/BSE_drawview.h @@ -45,8 +45,11 @@ void two_sided(int val); void circf(float x, float y, float rad); void circ(float x, float y, float rad); void backdrawview3d(int test); + +void do_viewbuts(unsigned short event); void drawview3dspace(struct ScrArea *sa, void *spacedata); void drawview3d_render(struct View3D *v3d); + int update_time(void); void calc_viewborder(struct View3D *v3d, struct rcti *viewborder_r); void view3d_set_1_to_1_viewborder(struct View3D *v3d); diff --git a/source/blender/include/interface.h b/source/blender/include/interface.h index 18572049007..7a81a047bfa 100644 --- a/source/blender/include/interface.h +++ b/source/blender/include/interface.h @@ -137,5 +137,8 @@ #define UI_BLOCK_COLLUMNS 1 #define UI_BLOCK_ROWS 2 +#define UI_PNL_TRANSP 0 +#define UI_PNL_SOLID 1 + #endif |