Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        iclass.c 


Log Message:
Fix rendering of imageclasses not based on images.

===================================================================
RCS file: /cvs/e/e16/e/src/iclass.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -3 -r1.138 -r1.139
--- iclass.c    22 Jun 2008 13:34:42 -0000      1.138
+++ iclass.c    22 Jun 2008 13:36:28 -0000      1.139
@@ -1187,7 +1187,6 @@
          }
 
        FreePmapMask(&pmm);
-       EClearWindow(win);
 
        if ((is->unloadable) || (Conf.memory_paranoia))
          {
@@ -1197,21 +1196,32 @@
      }
    else
      {
-       /* FIXME - No text */
        ImagestateColorsAlloc(is);
 
-       ESetWindowBackground(win, is->bg.pixel);
-       EClearWindow(win);
-     }
-
-   if (is->bevelstyle != BEVEL_NONE)
-     {
-       GC                  gc;
+       if (is->bevelstyle == BEVEL_NONE && !text)
+         {
+            ESetWindowBackground(win, is->bg.pixel);
+         }
+       else
+         {
+            Pixmap              pmap;
+            GC                  gc;
 
-       gc = EXCreateGC(WinGetXwin(win), 0, NULL);
-       ImagestateDrawBevel(is, WinGetXwin(win), gc, w, h);
-       EXFreeGC(gc);
+            pmap = EGetWindowBackgroundPixmap(win);
+            gc = EXCreateGC(WinGetXwin(win), 0, NULL);
+            XSetFillStyle(disp, gc, FillSolid);
+            XSetForeground(disp, gc, is->bg.pixel);
+            XFillRectangle(disp, pmap, gc, 0, 0, w, h);
+            if (is->bevelstyle != BEVEL_NONE)
+               ImagestateDrawBevel(is, pmap, gc, w, h);
+            if (ts && text)
+               TextstateTextDraw(ts, win, pmap, text, 0, 0, w, h,
+                                 &(ic->padding), 0,
+                                 TextclassGetJustification(tc), flags);
+            EXFreeGC(gc);
+         }
      }
+   EClearWindow(win);
 }
 
 void



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to