diff options
author | Ton Roosendaal <ton@blender.org> | 2003-10-20 19:40:20 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2003-10-20 19:40:20 +0400 |
commit | 7f5d06d638ff24444da942cf91c130d5393818cb (patch) | |
tree | 2b21f227adfb1d7f2004087e60b05c3af230d5ee /source/blender/include/interface.h | |
parent | 628b0025836183436ab5b83120497ebe060f89b7 (diff) |
Another mega commit... loadsof restructure, and a pretty good one! :)
- changed the BIF_DrawString() function. it used to work different for
AA fonts as for default fonts. Now it's identical. Setting color for fonts
can just be done with OpenGL, for both font types.
Removed: BIF_DrawStringRGB()
- added theme color options for Buttons
- recoded DefButton, so it automatically chooses the right color.
- had to remove a 1000 uiBlockSetCol() calls for that reason...
- uiBlockSetCol() still works, to override automatic color
- removed entirely the silly old color system (BIFColorID). All color
calls can now be done with a BIF_ThemeColor() call, including fonts and
buttons and opengl stuff
- all buttons in button header have headercolor by default
- recoded drawing icons, it was a really bad & old loop doing manually
colorshading and blending... which was per pixel a load of code!
Now it uses a single OpenGL call to blend or colorize. Quite faster!
- (as test, for review) icons don't colorize anymore with button color,
but have a different alpha to blend in (when not active)
- recoded the entire interface_draw.c file...:
- drawing buttons is separated in three parts:
1. main drawing function for text and icons
2. free definable callback for button itself
3. free definable callback for slider
- removed a load of redundant code for this!
- coded a minimal theme, and adjusted Matt's buttons to match new
callback system
- adding new drawing themes is piece of cake now
- for coders, default 'themes' to be aware of:
UI_EMBOSS : the themable drawing style
UI_EMBOSSP: the pulldown menu system (apart from color not themable)
UI_EMBOSSN: draw nothing, only text and/or icon
UI_EMBOSSM: minimal theme, still in use for Logic and Constraintsa
this can be set with uiBlockSetEmboss(block) or in the uiNewBlock() call.
TODO: make UI API call for button alignment
(plus removed another series of warnings from code...)
Plus: fixed bug in Matts commit: he used a 'short' button for an 'int'
Diffstat (limited to 'source/blender/include/interface.h')
-rw-r--r-- | source/blender/include/interface.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/include/interface.h b/source/blender/include/interface.h index b9cbbbc5332..02fdd9c2e25 100644 --- a/source/blender/include/interface.h +++ b/source/blender/include/interface.h @@ -128,16 +128,18 @@ struct uiBut { void *func_arg1; void *func_arg2; - void (*embossfunc)(BIFColorID, float, float, float, float, float, int); + void (*embossfunc)(int , int , float, float, float, float, float, int); + void (*sliderfunc)(int , float, float, float, float, float, float, int); uiLink *link; char *tip, *lockstr; - BIFColorID col; + int themecol; /* themecolor id */ void *font; BIFIconID icon; + short but_align; /* aligning buttons, horiz/vertical */ short lock, win; short iconadd; @@ -179,7 +181,8 @@ struct uiBlock { /* extra draw function for custom blocks */ void (*drawextra)(); - BIFColorID col; + int themecol; /* themecolor id */ + short but_align; /* aligning buttons, horiz/vertical */ short font; /* indices */ int afterval; void *curfont; @@ -195,6 +198,7 @@ struct uiBlock { /* interface.c */ extern void ui_check_but(uiBut *but); +extern double ui_get_but_val(uiBut *but); extern void ui_autofill(uiBlock *block); extern void ui_graphics_to_window(int win, float *x, float *y); extern void ui_window_to_graphics(int win, float *x, float *y); @@ -203,7 +207,9 @@ extern void ui_window_to_graphics(int win, float *x, float *y); extern void ui_draw_panel(uiBlock *block); extern void ui_do_panel(uiBlock *block, uiEvent *uevent); - +/* interface_draw.c */ +extern void ui_set_embossfunc(uiBut *but, int drawtype); +extern void ui_draw_but(uiBut *but); #endif |