]> git.decadent.org.uk Git - ion3.git/blobdiff - de/brush.c
[svn-upgrade] Integrating new upstream version, ion3 (20070318)
[ion3.git] / de / brush.c
index fbaaa610f6e7f54a6d302b4d386024028df1c40d..3101324f378849dbf4c524c2674f686844522349 100644 (file)
@@ -182,32 +182,42 @@ void debrush_get_border_widths(DEBrush *brush, GrBorderWidths *bdw)
 {
     DEStyle *style=brush->d;
     DEBorder *bd=&(style->border);
-    uint tmp=0, spc=style->spacing;
+    uint tmp=0;
+    uint tbf=1, lrf=1;
+    uint pad=bd->pad;
+    
+    switch(bd->sides){
+    case DEBORDER_TB:
+        lrf=0;
+        break;
+    case DEBORDER_LR:
+        tbf=0;
+        break;
+    }
     
     switch(bd->style){
     case DEBORDER_RIDGE:
-        tmp=spc;
     case DEBORDER_GROOVE:
-        tmp+=bd->sh+bd->hl+bd->pad;
-        bdw->top=tmp; bdw->bottom=tmp; bdw->left=tmp; bdw->right=tmp;
+        tmp=bd->sh+bd->hl;
+        bdw->top=tbf*tmp+pad; bdw->bottom=tbf*tmp+pad; 
+        bdw->left=lrf*tmp+pad; bdw->right=lrf*tmp+pad;
         break;
     case DEBORDER_INLAID:
-        tmp=bd->sh+bd->pad+spc; bdw->top=tmp; bdw->left=tmp;
-        tmp=bd->hl+bd->pad+spc; bdw->bottom=tmp; bdw->right=tmp;
+        tmp=bd->sh; bdw->top=tbf*tmp+pad; bdw->left=lrf*tmp+pad;
+        tmp=bd->hl; bdw->bottom=tbf*tmp+pad; bdw->right=lrf*tmp+pad;
         break;
     case DEBORDER_ELEVATED:
     default:
-        tmp=bd->hl+bd->pad; bdw->top=tmp; bdw->left=tmp;
-        tmp=bd->sh+bd->pad; bdw->bottom=tmp; bdw->right=tmp;
+        tmp=bd->hl; bdw->top=tbf*tmp+pad; bdw->left=lrf*tmp+pad;
+        tmp=bd->sh; bdw->bottom=tbf*tmp+pad; bdw->right=lrf*tmp+pad;
         break;
     }
     
+    bdw->right+=brush->indicator_w;
+
     bdw->tb_ileft=bdw->left;
     bdw->tb_iright=bdw->right;
     bdw->spacing=style->spacing;
-    
-    bdw->right+=brush->indicator_w;
-    bdw->tb_iright+=brush->indicator_w;
 }