Revision: 18302
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18302
Author:   broken
Date:     2009-01-04 01:05:40 +0100 (Sun, 04 Jan 2009)

Log Message:
-----------
Some tweaks to menu drawing

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
    branches/blender2.5/blender/source/blender/editors/interface/interface.c
    
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c
    
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    branches/blender2.5/blender/source/blender/editors/interface/resources.c

Modified: 
branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-01-03 23:14:33 UTC (rev 18301)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-01-04 00:05:40 UTC (rev 18302)
@@ -180,7 +180,7 @@
 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);
-void uiDrawMenuBox(float minx, float miny, float maxx, float maxy, short flag);
+void uiDrawMenuBox(float minx, float miny, float maxx, float maxy, short flag, 
short direction);
 void uiDrawBoxShadow(unsigned char alpha, float minx, float miny, float maxx, 
float maxy);
 
 /* Popup Menu's */

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c    
2009-01-03 23:14:33 UTC (rev 18301)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c    
2009-01-04 00:05:40 UTC (rev 18302)
@@ -511,7 +511,7 @@
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
        
        if(block->flag & UI_BLOCK_LOOP)
-               uiDrawMenuBox(block->minx, block->miny, block->maxx, 
block->maxy, block->flag);
+               uiDrawMenuBox(block->minx, block->miny, block->maxx, 
block->maxy, block->flag, block->direction);
        else if(block->panel)
                ui_draw_panel(CTX_wm_region(C), block);
 

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c   
    2009-01-03 23:14:33 UTC (rev 18301)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c   
    2009-01-04 00:05:40 UTC (rev 18302)
@@ -2090,9 +2090,9 @@
        glBegin(GL_POLYGON);
        glColor4ub(0, 0, 0, alpha);
        glVertex2f(maxx, miny);
-       glVertex2f(maxx, maxy-shadsize);
+       glVertex2f(maxx, maxy-0.3*shadsize);
        glColor4ub(0, 0, 0, 0);
-       glVertex2f(maxx+shadsize, maxy-shadsize-shadsize);
+       glVertex2f(maxx+shadsize, maxy-0.75*shadsize);
        glVertex2f(maxx+shadsize, miny);
        glEnd();
        
@@ -2109,11 +2109,11 @@
        /* bottom quad */               
        glBegin(GL_POLYGON);
        glColor4ub(0, 0, 0, alpha);
-       glVertex2f(minx+shadsize, miny);
+       glVertex2f(minx+0.3*shadsize, miny);
        glVertex2f(maxx, miny);
        glColor4ub(0, 0, 0, 0);
        glVertex2f(maxx, miny-shadsize);
-       glVertex2f(minx+shadsize+shadsize, miny-shadsize);
+       glVertex2f(minx+0.5*shadsize, miny-shadsize);
        glEnd();
        
        glDisable(GL_BLEND);
@@ -2123,33 +2123,48 @@
 void uiDrawBoxShadow(unsigned char alpha, float minx, float miny, float maxx, 
float maxy)
 {
        /* accumulated outline boxes to make shade not linear, is more pleasant 
*/
-       ui_shadowbox(minx, miny, maxx, maxy, 6.0, (30*alpha)>>8);
-       ui_shadowbox(minx, miny, maxx, maxy, 4.0, (70*alpha)>>8);
-       ui_shadowbox(minx, miny, maxx, maxy, 2.0, (100*alpha)>>8);
+       ui_shadowbox(minx, miny, maxx, maxy, 11.0, (20*alpha)>>8);
+       ui_shadowbox(minx, miny, maxx, maxy, 7.0, (40*alpha)>>8);
+       ui_shadowbox(minx, miny, maxx, maxy, 5.0, (80*alpha)>>8);
        
 }
 
 // background for pulldowns, pullups, and other drawing temporal menus....
 // has to be made themable still (now only color)
 
-void uiDrawMenuBox(float minx, float miny, float maxx, float maxy, short flag)
+void uiDrawMenuBox(float minx, float miny, float maxx, float maxy, short flag, 
short direction)
 {
        char col[4];
+       int rounded = ELEM(UI_GetThemeValue(TH_BUT_DRAWTYPE), TH_ROUNDED, 
TH_ROUNDSHADED);
+       
        UI_GetThemeColor4ubv(TH_MENU_BACK, col);
        
+       if (rounded) {
+               if (direction == UI_DOWN) {
+                       uiSetRoundBox(12);
+                       miny -= 4.0;
+               } else if (direction == UI_TOP) {
+                       uiSetRoundBox(3);
+                       maxy += 4.0;
+               } else {
+                       uiSetRoundBox(0);
+               }
+       }
+               
        if( (flag & UI_BLOCK_NOSHADOW)==0) {
                /* accumulated outline boxes to make shade not linear, is more 
pleasant */
-               ui_shadowbox(minx, miny, maxx, maxy, 6.0, (30*col[3])>>8);
-               ui_shadowbox(minx, miny, maxx, maxy, 4.0, (70*col[3])>>8);
-               ui_shadowbox(minx, miny, maxx, maxy, 2.0, (100*col[3])>>8);
-               
-               glEnable(GL_BLEND);
-               glColor4ubv((GLubyte *)col);
-               glRectf(minx-1, miny, minx, maxy);      // 1 pixel on left, to 
distinguish sublevel menus
+               ui_shadowbox(minx, miny, maxx, maxy, 11.0, (20*col[3])>>8);
+               ui_shadowbox(minx, miny, maxx, maxy, 7.0, (40*col[3])>>8);
+               ui_shadowbox(minx, miny, maxx, maxy, 5.0, (80*col[3])>>8);
        }
        glEnable(GL_BLEND);
        glColor4ubv((GLubyte *)col);
-       glRectf(minx, miny, maxx, maxy);
+       
+       if (rounded) {
+               gl_round_box(GL_POLYGON, minx, miny, maxx, maxy, 4.0);
+       } else {
+               glRectf(minx, miny, maxx, maxy);
+       }
        glDisable(GL_BLEND);
 }
 
@@ -3082,6 +3097,14 @@
        fdrawbox(but->x1, but->y1, but->x2, but->y2);
 }
 
+static void ui_draw_sepr(uiBut *but)
+{
+       float y = but->y1 + (but->y2 - but->y1)*0.5;
+       
+       UI_ThemeColorBlend(TH_MENU_TEXT, TH_MENU_BACK, 0.85);
+       fdrawline(but->x1, y, but->x2, y);
+}
+
 static void ui_draw_roundbox(uiBut *but)
 {
        glEnable(GL_BLEND);
@@ -3242,7 +3265,7 @@
                break;
                
        case SEPR:
-               //  only background
+               ui_draw_sepr(but);
                break;
                
        case COL:

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    2009-01-03 23:14:33 UTC (rev 18301)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
    2009-01-04 00:05:40 UTC (rev 18302)
@@ -59,11 +59,13 @@
 #include "interface_intern.h"
 
 #define MENU_BUTTON_HEIGHT     20
+#define MENU_SEPR_HEIGHT       6
 #define B_NOP                  -1
 #define MENU_SHADOW_LEFT       -1
 #define MENU_SHADOW_BOTTOM     -10
 #define MENU_SHADOW_RIGHT      10
 #define MENU_SHADOW_TOP                1
+#define MENU_ROUNDED_TOP       5
 
 /*********************** Menu Data Parsing ********************* */
 
@@ -670,15 +672,16 @@
                saferct= MEM_callocN(sizeof(uiSafetyRct), "uiSafetyRct");
                saferct->safety= block->safety;
                BLI_addhead(&block->saferct, saferct);
+               block->direction= UI_TOP;
        }
 
        /* the block and buttons were positioned in window space as in 2.4x, now
         * these menu blocks are regions so we bring it back to region space.
-        * additionally we add some padding for the menu shadow */
+        * additionally we add some padding for the menu shadow or rounded 
menus */
        ar->winrct.xmin= block->minx + MENU_SHADOW_LEFT;
        ar->winrct.xmax= block->maxx + MENU_SHADOW_RIGHT;
        ar->winrct.ymin= block->miny + MENU_SHADOW_BOTTOM;
-       ar->winrct.ymax= block->maxy + MENU_SHADOW_TOP;
+       ar->winrct.ymax= block->maxy + MENU_SHADOW_TOP + MENU_ROUNDED_TOP;
 
        block->minx -= ar->winrct.xmin;
        block->maxx -= ar->winrct.xmin;
@@ -1429,10 +1432,12 @@
                        bt->flag= UI_TEXT_LEFT;
                }
                uiSetCurFont(block, UI_HELV);
+               
+               //uiDefBut(block, SEPR, 0, "", startx, 
(short)(starty+height)-MENU_SEPR_HEIGHT, width, MENU_SEPR_HEIGHT, NULL, 0.0, 
0.0, 0, 0, "");
        }
 
        x1= startx + width*((int)a/rows);
-       y1= starty + height - MENU_BUTTON_HEIGHT;
+       y1= starty + height - MENU_BUTTON_HEIGHT; // - MENU_SEPR_HEIGHT;
                
        for(a=0; a<md->nitems; a++) {
                char *name= md->items[a].str;

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/resources.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/resources.c    
2009-01-03 23:14:33 UTC (rev 18301)
+++ branches/blender2.5/blender/source/blender/editors/interface/resources.c    
2009-01-04 00:05:40 UTC (rev 18302)
@@ -378,73 +378,49 @@
        SETCOL(btheme->tui.text,                0,0,0, 255);
        SETCOL(btheme->tui.text_hi,     255, 255, 255, 255);
        
-       SETCOL(btheme->tui.menu_back,   0xD2,0xD2,0xD2, 255);
-       SETCOL(btheme->tui.menu_item,   0xDA,0xDA,0xDA, 255);
+       SETCOL(btheme->tui.menu_back,   255, 255, 255, 235);
+       SETCOL(btheme->tui.menu_item,   255, 255, 255, 20);
        SETCOL(btheme->tui.menu_hilite, 0x7F,0x7F,0x7F, 255);
        SETCOL(btheme->tui.menu_text,   0, 0, 0, 255);
        SETCOL(btheme->tui.menu_text_hi, 255, 255, 255, 255);
+
        btheme->tui.but_drawtype= TH_ROUNDSHADED;
-       
        BLI_strncpy(btheme->tui.iconfile, "", sizeof(btheme->tui.iconfile));
-       
+
        /* space view3d */
-SETCOL(btheme->tui.outline,     0xA0,0xA0,0xA0, 255);
-       SETCOL(btheme->tui.neutral,     180, 180, 180, 255);
-       SETCOL(btheme->tui.action,              180, 180, 180, 255);
-       SETCOL(btheme->tui.setting,     180, 180, 180, 255);
-       SETCOL(btheme->tui.setting1,    180, 180, 180, 255);
-       SETCOL(btheme->tui.setting2,    180, 180, 180, 255);
-       SETCOL(btheme->tui.num,                 143, 143, 143, 255);
-       SETCOL(btheme->tui.textfield,   143, 142, 143, 255);
-       SETCOL(btheme->tui.textfield_hi,255, 151, 26,  255);
-       SETCOL(btheme->tui.popup,               174, 174, 174, 255);
+       SETCOL(btheme->tv3d.back,       90, 90, 90, 255);
+       SETCOL(btheme->tv3d.text,       0, 0, 0, 255);
+       SETCOL(btheme->tv3d.text_hi, 255, 255, 255, 255);
+       SETCOL(btheme->tv3d.header, 195, 195, 195, 255);
+       SETCOL(btheme->tv3d.panel,      165, 165, 165, 127);
 
-       SETCOL(btheme->tui.text,                0,0,0, 255);
-       SETCOL(btheme->tui.text_hi,     255, 255, 255, 255);
+       SETCOL(btheme->tv3d.shade1,  160, 160, 160, 100);
+       SETCOL(btheme->tv3d.shade2,  0x7f, 0x70, 0x70, 100);
 
-       SETCOL(btheme->tui.menu_back,   0xD2,0xD2,0xD2, 255);
-       SETCOL(btheme->tui.menu_item,   0xDA,0xDA,0xDA, 255);
-       SETCOL(btheme->tui.menu_hilite, 0x7F,0x7F,0x7F, 255);
-       SETCOL(btheme->tui.menu_text,   0, 0, 0, 255);
-       SETCOL(btheme->tui.menu_text_hi, 255, 255, 255, 255);
-       btheme->tui.but_drawtype= TH_ROUNDSHADED;
+       SETCOL(btheme->tv3d.grid,       74, 74, 74      , 255);
+       SETCOL(btheme->tv3d.wire,       0x0, 0x0, 0x0, 255);
+       SETCOL(btheme->tv3d.lamp,       0, 0, 0, 40);
+       SETCOL(btheme->tv3d.select, 241, 88, 0, 255);
+       SETCOL(btheme->tv3d.active, 255, 140, 25, 255);
+       SETCOL(btheme->tv3d.group,      16, 64, 16, 255);
+       SETCOL(btheme->tv3d.group_active, 85, 187, 85, 255);
+       SETCOL(btheme->tv3d.transform, 0xff, 0xff, 0xff, 255);
+       SETCOL(btheme->tv3d.vertex, 0, 0, 0, 255);
+       SETCOL(btheme->tv3d.vertex_select, 255, 133, 0, 255);
+       btheme->tv3d.vertex_size= 3;
+       SETCOL(btheme->tv3d.edge,       0x0, 0x0, 0x0, 255);

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to