From 7f5d06d638ff24444da942cf91c130d5393818cb Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 20 Oct 2003 15:40:20 +0000 Subject: 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' --- source/blender/src/drawaction.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'source/blender/src/drawaction.c') diff --git a/source/blender/src/drawaction.c b/source/blender/src/drawaction.c index 33ddedd90fa..fb07c245d28 100644 --- a/source/blender/src/drawaction.c +++ b/source/blender/src/drawaction.c @@ -129,14 +129,12 @@ void meshactionbuts(SpaceAction *saction, Key *key) sprintf(str, "actionbuttonswin %d", curarea->win); block= uiNewBlock (&curarea->uiblocks, str, - UI_EMBOSSX, UI_HELV, curarea->win); + UI_EMBOSS, UI_HELV, curarea->win); x = NAMEWIDTH + 1; y = key->totkey*(CHANNELHEIGHT+CHANNELSKIP) - CHANNELHEIGHT/2 - G.v2d->cur.ymin; - uiBlockSetCol(block, BUTGREY); - /* make the little 'open the sliders' widget */ glColor3f(RVKBGCOL); glRects(2, y + 2*CHANNELHEIGHT - 2, @@ -168,7 +166,7 @@ void meshactionbuts(SpaceAction *saction, Key *key) /* sliders are open so draw them */ glColor3f(RVKBGCOL); glRects(NAMEWIDTH, 0, NAMEWIDTH+SLIDERWIDTH, curarea->winy); - uiBlockSetEmboss(block, UI_EMBOSSX); + uiBlockSetEmboss(block, UI_EMBOSS); for (i=1 ; i < key->totkey ; ++ i) { make_rvk_slider(block, key, i, x, y, SLIDERWIDTH-2, CHANNELHEIGHT-1); -- cgit v1.2.3