From 3a840670a52701e8690a5d201bcb57eac45e2c8a Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Sun, 3 Oct 2004 13:49:54 +0000 Subject: Lots of small changes, all for UI in Blender; ----- Killed UI frontbuffer draw The interface toolkit was drawing all live updates (while using menus/buttons) in the frontbuffer. This isn't well supported cross-platform, so time to be killed once. Now it uses *only* glReadPixels and glCopyPixels for frontbuffer access. Live updates or menus now are drawn in backbuffer always, and copied to front when needed. NOTE: it was tested, but needs thorough review! On PC systems I suspects backbuffer selection to screw up (check!). On SGI/SUN workstations it should work smooth; but I need evidence ----- Smaller fixes; - AA fonts were garbled on ATI systems. Now the AA fonts are drawn exact on pixel positions. Needs the new FTGL libb too, patch is on maillist - Rounded theme uses antialiased outlines - Pulldown and popup menus have nice softshadow now - New button type 'PULLDOWN', thats the one that callsup a pulldown menu. Should be added to themes, as is the full menu/pulldown drawing - Screendump for 1 window does the full window now, including header - Empty pulldowns (for example running blender without scripts) give no drawing error anymore For review & fun; - added curved lines as connectors, for Oops window --- source/blender/include/BIF_interface.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/include/BIF_interface.h') diff --git a/source/blender/include/BIF_interface.h b/source/blender/include/BIF_interface.h index a006c1ef44f..9f8afd76ea6 100644 --- a/source/blender/include/BIF_interface.h +++ b/source/blender/include/BIF_interface.h @@ -147,6 +147,7 @@ struct ScrArea; #define KEYEVT (24<<9) #define ICONTEXTROW (25<<9) #define HSVCUBE (26<<9) +#define PULLDOWN (27<<9) #define BUTTYPE (31<<9) @@ -156,7 +157,7 @@ typedef struct uiBut uiBut; typedef struct uiBlock uiBlock; void uiEmboss(float x1, float y1, float x2, float y2, int sel); -void uiRoundBoxEmboss(float minx, float miny, float maxx, float maxy, float rad); +void uiRoundBoxEmboss(float minx, float miny, float maxx, float maxy, float rad, int active); void uiRoundBox(float minx, float miny, float maxx, float maxy, float rad); void uiSetRoundBox(int type); void uiRoundRect(float minx, float miny, float maxx, float maxy, float rad); @@ -237,6 +238,7 @@ void uiDefIDPoinBut(struct uiBlock *block, typedef uiBlock* (*uiBlockFuncFP) (void *arg1); uiBut *uiDefBlockBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip); +uiBut *uiDefPulldownBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip); uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockFuncFP func, void *arg, int icon, char *str, short x1, short y1, short x2, short y2, char *tip); -- cgit v1.2.3