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/makesdna | |
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/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_screen_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_space_types.h | 55 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_view3d_types.h | 5 |
3 files changed, 49 insertions, 13 deletions
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index 85aebbcd5b9..5618b8e40d4 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -85,7 +85,7 @@ typedef struct Panel { /* the part from uiBlock that needs saved in file */ char panelname[64], tabname[64]; /* defined as UI_MAX_NAME_STR */ short ofsx, ofsy, sizex, sizey; short flag, active; /* active= used currently by a uiBlock */ - int pad2; + short style, pad2; struct Panel *paneltab; /* this panel is tabbed in *paneltab */ } Panel; diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 8674eb3fb4c..5ec7892add8 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -55,21 +55,29 @@ struct BlendHandle; typedef struct SpaceLink SpaceLink; struct SpaceLink { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; }; typedef struct SpaceInfo { SpaceLink *next, *prev; - int spacetype, pad1; + int spacetype; + float blockscale; struct ScrArea *area; + + short blockhandler[8]; } SpaceInfo; typedef struct SpaceIpo { SpaceLink *next, *prev; - int spacetype, pad1; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + unsigned int rowbut, pad2; View2D v2d; @@ -90,9 +98,11 @@ typedef struct SpaceIpo { typedef struct SpaceButs { SpaceLink *next, *prev; int spacetype; - short re_align, pad1; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + short cursens, curact; short align, tabo; /* align for panels, tab is old tab */ View2D v2d; @@ -110,6 +120,8 @@ typedef struct SpaceButs { short scriptblock; short scaflag; + short re_align, pad1; + int pad2; char texact, tab[7]; /* storing tabs for each context */ @@ -117,9 +129,12 @@ typedef struct SpaceButs { typedef struct SpaceSeq { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + View2D v2d; short mainb, zoom; @@ -129,9 +144,12 @@ typedef struct SpaceSeq { typedef struct SpaceFile { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + struct direntry *filelist; int totfile; char title[24]; @@ -163,9 +181,12 @@ typedef struct SpaceFile { typedef struct SpaceOops { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + View2D v2d; ListBase oops; @@ -176,9 +197,12 @@ typedef struct SpaceOops { typedef struct SpaceImage { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + View2D v2d; struct Image *image; @@ -194,17 +218,25 @@ typedef struct SpaceImage { typedef struct SpaceNla{ struct SpaceLink *next, *prev; int spacetype; - short menunr, lock; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + + short menunr, lock; + int pad; + View2D v2d; } SpaceNla; typedef struct SpaceText { SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + struct Text *text; int top, viewlines; @@ -259,7 +291,8 @@ typedef struct ImaDir { typedef struct SpaceImaSel { SpaceLink *next, *prev; - int spacetype, pad1; + int spacetype; + float blockscale; struct ScrArea *area; char title[28]; diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 8f1956a36b8..cf19e79f3a3 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -61,9 +61,12 @@ typedef struct BGpic { typedef struct View3D { struct SpaceLink *next, *prev; - int spacetype, pad; + int spacetype; + float blockscale; struct ScrArea *area; + short blockhandler[8]; + float viewmat[4][4]; float viewinv[4][4]; float persmat[4][4]; |