Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        backgrounds.c backgrounds.h desktops.c desktops.h ecompmgr.c 
        iclass.c pager.c 


Log Message:
Prepare to fix various issues related to background pixmap handling.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/backgrounds.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -3 -r1.50 -r1.51
--- backgrounds.c       1 Nov 2005 17:15:51 -0000       1.50
+++ backgrounds.c       21 Nov 2005 17:48:44 -0000      1.51
@@ -274,22 +274,17 @@
 {
    Background         *bg;
 
-   bg = Emalloc(sizeof(Background));
+   bg = Ecalloc(1, sizeof(Background));
    if (!bg)
       return NULL;
 
    bg->name = Estrdup(name);
-   bg->pmap = 0;
-   bg->last_viewed = 0;
 
    ESetColor(&(bg->bg_solid), 160, 160, 160);
    if (solid)
       bg->bg_solid = *solid;
-   bg->bg.file = NULL;
    if (bgn)
       bg->bg.file = Estrdup(bgn);
-   bg->bg.real_file = NULL;
-   bg->bg.im = NULL;
    bg->bg_tile = tile;
    bg->bg.keep_aspect = keep_aspect;
    bg->bg.xjust = xjust;
@@ -297,23 +292,14 @@
    bg->bg.xperc = xperc;
    bg->bg.yperc = yperc;
 
-   bg->top.file = NULL;
    if (top)
       bg->top.file = Estrdup(top);
-   bg->top.real_file = NULL;
-   bg->top.im = NULL;
    bg->top.keep_aspect = tkeep_aspect;
    bg->top.xjust = txjust;
    bg->top.yjust = tyjust;
    bg->top.xperc = txperc;
    bg->top.yperc = typerc;
 
-#if ENABLE_COLOR_MODIFIERS
-   bg->cmclass = NULL;
-#endif
-   bg->keepim = 0;
-   bg->ref_count = 0;
-
    AddItem(bg, bg->name, 0, LIST_TYPE_BACKGROUND);
 
    return bg;
@@ -397,11 +383,7 @@
    bg->top.yperc = typerc;
 
    if (updated)
-     {
-       if (bg->pmap)
-          imlib_free_pixmap_and_mask(bg->pmap);
-       bg->pmap = 0;
-     }
+      BackgroundPixmapFree(bg);
 
    return updated;
 }
@@ -756,6 +738,13 @@
    return pmap;
 }
 
+void
+BackgroundApplyPmap(Background * bg, Drawable draw,
+                   unsigned int w, unsigned int h)
+{
+   BackgroundApply(bg, draw, w, h, 0);
+}
+
 /*
  * Apply a background to window/pixmap.
  * The (scaled) BG pixmap is stored in bg->pmap.
@@ -998,7 +987,7 @@
 
    /* Create new cached bg mini image */
    pmap = ECreatePixmap(VRoot.win, 64, 48, VRoot.depth);
-   BackgroundApply(bg, pmap, 64, 48, 0);
+   BackgroundApplyPmap(bg, pmap, 64, 48);
    imlib_context_set_drawable(pmap);
    im = imlib_create_image_from_drawable(0, 0, 0, 64, 48, 0);
    imlib_context_set_image(im);
@@ -1178,7 +1167,7 @@
             desk = atoi(s2);
             if (desk < DesksGetNumber())
               {
-                 if ((DeskGetBackground(DeskGet(desk)) == NULL) ||
+                 if ((DeskBackgroundGet(DeskGet(desk)) == NULL) ||
                      (Conf.backgrounds.user))
                    {
                       if (!ignore)
@@ -1188,7 +1177,7 @@
                                                     i3, i4, i5, i6, bg2, j1,
                                                     j2, j3, j4, j5);
                         }
-                      DeskAssignBg(desk, bg);
+                      DeskBackgroundAssign(desk, bg);
                    }
               }
             break;
@@ -1352,9 +1341,9 @@
          {
             Desk               *dsk = DeskGet(j);
 
-            if (BackgroundIsNone(bglist[i]) && !DeskGetBackground(dsk))
+            if (BackgroundIsNone(bglist[i]) && !DeskBackgroundGet(dsk))
                fprintf(fs, "564 %d\n", j);
-            if (DeskGetBackground(dsk) == bglist[i])
+            if (DeskBackgroundGet(dsk) == bglist[i])
                fprintf(fs, "564 %d\n", j);
          }
 
@@ -1388,8 +1377,8 @@
    for (j = 0; j < DesksGetNumber(); j++)
      {
        dsk = DeskGet(j);
-       if ((DeskGetBackground(dsk)) && (DeskIsViewable(dsk)))
-          BackgroundTouch(DeskGetBackground(dsk));
+       if ((DeskBackgroundGet(dsk)) && (DeskIsViewable(dsk)))
+          BackgroundTouch(DeskBackgroundGet(dsk));
      }
 
    lst = (Background **) ListItemType(&num, LIST_TYPE_BACKGROUND);
@@ -1405,14 +1394,14 @@
        for (j = 0; j < DesksGetNumber(); j++)
          {
             dsk = DeskGet(j);
-            if (lst[i] == DeskGetBackground(dsk) && DeskIsViewable(dsk))
+            if (lst[i] == DeskBackgroundGet(dsk) && DeskIsViewable(dsk))
                goto next;
          }
 
        for (j = 0; j < DesksGetNumber(); j++)
          {
             dsk = DeskGet(j);
-            if (lst[i] != DeskGetBackground(dsk) || DeskIsViewable(dsk))
+            if (lst[i] != DeskBackgroundGet(dsk) || DeskIsViewable(dsk))
                continue;
 
             /* Unviewable desktop - update the virtual root hints */
@@ -1532,8 +1521,8 @@
          {
             Desk               *dsk = DeskGet(i);
 
-            if (DeskGetBackground(dsk) == tmp_bg)
-               DeskSetBg(dsk, tmp_bg, 1);
+            if (DeskBackgroundGet(dsk) == tmp_bg)
+               DeskBackgroundSet(dsk, tmp_bg, 1);
          }
 
        BackgroundCacheMini(tmp_bg, 0, 1);
@@ -1572,7 +1561,7 @@
    if (val == 1)
      {
        ESetWindowBackgroundPixmap(win, pmap);
-       BackgroundApply(tmp_bg, pmap, w, h, 0);
+       BackgroundApplyPmap(tmp_bg, pmap, w, h);
      }
    else
      {
@@ -1587,7 +1576,7 @@
                              tmp_bg->top.yjust, tmp_bg->top.xperc,
                              tmp_bg->top.yperc);
 
-       BackgroundApply(bg, pmap, w, h, 0);
+       BackgroundApplyPmap(bg, pmap, w, h);
        BackgroundDestroy(bg);
      }
    EClearWindow(win);
@@ -1689,7 +1678,7 @@
    DialogItemSliderSetVal(bg_sel_slider, 0);
    DialogDrawItems(bg_sel_dialog, bg_sel_slider, 0, 0, 99999, 99999);
 
-   DeskSetBg(DesksGetCurrent(), tmp_bg, 0);
+   DeskBackgroundSet(DesksGetCurrent(), tmp_bg, 0);
 
    BG_RedrawView();
 
@@ -1727,7 +1716,7 @@
          }
      }
 
-   DeskSetBg(DesksGetCurrent(), bg, 0);
+   DeskBackgroundSet(DesksGetCurrent(), bg, 0);
    if (val == 0)
       BackgroundDestroy(tmp_bg);
    else
@@ -1883,7 +1872,7 @@
        if ((tmp_bg_selected >= 0) && (tmp_bg_selected < num))
          {
             BgDialogSetNewCurrent(bglist[tmp_bg_selected]);
-            DeskSetBg(DesksGetCurrent(), tmp_bg, 0);
+            DeskBackgroundSet(DesksGetCurrent(), tmp_bg, 0);
             autosave();
          }
        Efree(bglist);
@@ -1947,7 +1936,7 @@
        if ((bglist[i] == tmp_bg) && (i > 0))
          {
             BGSettingsGoTo(bglist[i - 1]);
-            DeskSetBg(DesksGetCurrent(), bglist[i - 1], 0);
+            DeskBackgroundSet(DesksGetCurrent(), bglist[i - 1], 0);
             break;
          }
      }
@@ -1967,7 +1956,7 @@
        if ((bglist[i] == tmp_bg) && (i < (num - 1)))
          {
             BGSettingsGoTo(bglist[i + 1]);
-            DeskSetBg(DesksGetCurrent(), bglist[i + 1], 0);
+            DeskBackgroundSet(DesksGetCurrent(), bglist[i + 1], 0);
             break;
          }
      }
@@ -2523,8 +2512,8 @@
               {
                  Desk               *dsk = DeskGet(i);
 
-                 if (DeskGetBackground(dsk) == bg)
-                    DeskSetBg(dsk, bg, 0);
+                 if (DeskBackgroundGet(dsk) == bg)
+                    DeskBackgroundSet(dsk, bg, 0);
               }
          }
      }
@@ -2557,7 +2546,7 @@
      {
        for (i = 0; i < (int)DesksGetNumber(); i++)
          {
-            bg = DeskGetBackground(DeskGet(i));
+            bg = DeskBackgroundGet(DeskGet(i));
             if (bg)
                IpcPrintf("%i %s\n", i, BackgroundGetName(bg));
          }
@@ -2577,7 +2566,7 @@
      }
    else if (!strncmp(cmd, "cfg", 2))
      {
-       SettingsBackground(DeskGetBackground(DesksGetCurrent()));
+       SettingsBackground(DeskBackgroundGet(DesksGetCurrent()));
      }
    else if (!strncmp(cmd, "del", 2))
      {
@@ -2632,7 +2621,7 @@
 
        num = DesksGetCurrentNum();
        sscanf(p, "%d %n", &num, &len);
-       DeskSetBg(DeskGet(num), bg, 1);
+       DeskBackgroundSet(DeskGet(num), bg, 1);
        autosave();
      }
    else if (!strncmp(cmd, "xget", 2))
@@ -2678,7 +2667,7 @@
        if (!w[0])
           break;
        i = atoi(w);
-       DeskSetBg(DeskGet(i), bg, 1);
+       DeskBackgroundSet(DeskGet(i), bg, 1);
      }
    autosave();
 }
@@ -2710,9 +2699,9 @@
             bg->cmclass->ref_count--;
             bg->cmclass = cm;
          }
-       if (bg->pmap)
-          imlib_free_pixmap_and_mask(bg->pmap);
-       bg->pmap = 0;
+
+       BackgroundPixmapFree(bg);
+
        for (i = 0; i < DesksGetNumber(); i++)
          {
             if ((desks.desk[i].bg == bg) && (desks.desk[i].viewable))
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/backgrounds.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- backgrounds.h       24 Oct 2005 16:05:30 -0000      1.1
+++ backgrounds.h       21 Nov 2005 17:48:44 -0000      1.2
@@ -26,7 +26,6 @@
 #define _BACKGROUNDS_H_
 
 /* backgrounds.c */
-int                 BackgroundsConfigLoad(FILE * fs);
 char               *BackgroundGetUniqueString(Background * bg);
 void                BackgroundPixmapFree(Background * bg);
 void                BackgroundImagesFree(Background * bg, int free_pmap);
@@ -34,6 +33,8 @@
 Pixmap              BackgroundApply(Background * bg, Drawable draw,
                                    unsigned int rw, unsigned int rh,
                                    int is_win);
+void                BackgroundApplyPmap(Background * bg, Drawable draw,
+                                       unsigned int rw, unsigned int rh);
 void                BackgroundSet(Background * bg, Window win, unsigned int rw,
                                  unsigned int rh);
 void                BackgroundIncRefcount(Background * bg);
@@ -47,4 +48,6 @@
                                               const char *file, char *thumb,
                                               int thlen);
 
+int                 BackgroundsConfigLoad(FILE * fs);
+
 #endif /* _BACKGROUNDS_H_ */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -3 -r1.199 -r1.200
--- desktops.c  19 Nov 2005 20:43:09 -0000      1.199
+++ desktops.c  21 Nov 2005 17:48:44 -0000      1.200
@@ -406,7 +406,7 @@
             Efree(lst);
          }
      }
-   DeskSetBg(dsk, bg, 0);
+   DeskBackgroundSet(dsk, bg, 0);
 
    if (dsk->num > 0)
      {
@@ -527,7 +527,7 @@
 }
 
 Background         *
-DeskGetBackground(const Desk * dsk)
+DeskBackgroundGet(const Desk * dsk)
 {
    return (dsk) ? dsk->bg : NULL;
 }
@@ -855,7 +855,7 @@
 }
 
 void
-DeskAssignBg(unsigned int desk, Background * bg)
+DeskBackgroundAssign(unsigned int desk, Background * bg)
 {
    if (desk >= ENLIGHTENMENT_CONF_NUM_DESKTOPS)
       return;
@@ -864,7 +864,7 @@
 }
 
 void
-DeskSetBg(Desk * dsk, Background * bg, int refresh)
+DeskBackgroundSet(Desk * dsk, Background * bg, int refresh)
 {
    if (!dsk)
       return;
@@ -2116,9 +2116,9 @@
             pmap = ECreatePixmap(wins[i], 64, 48, VRoot.depth);
             ESetWindowBackgroundPixmap(wins[i], pmap);
 
-            bg = DeskGetBackground(DeskGet(i));
+            bg = DeskBackgroundGet(DeskGet(i));
             if (bg)
-               BackgroundApply(bg, pmap, 64, 48, 0);
+               BackgroundApplyPmap(bg, pmap, 64, 48);
             else
               {
                  ic = ImageclassFind("SETTINGS_DESKTOP_AREA", 0);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- desktops.h  19 Nov 2005 20:43:09 -0000      1.12
+++ desktops.h  21 Nov 2005 17:48:44 -0000      1.13
@@ -53,18 +53,19 @@
 /* desktops.c */
 Desk               *DeskGet(unsigned int desk);
 Desk               *DeskGetRelative(Desk * dsk, int inc);
-Background         *DeskGetBackground(const Desk * dsk);
 void                DeskGetArea(const Desk * dsk, int *ax, int *ay);
 void                DeskSetArea(Desk * dsk, int ax, int ay);
 int                 DeskIsViewable(const Desk * dsk);
 void                DeskSetDirtyStack(Desk * dsk, EObj * eo);
 void                DeskRefresh(Desk * dsk);
-void                DeskAssignBg(unsigned int desk, Background * bg);
-void                DeskSetBg(Desk * dsk, Background * bg, int refresh);
 void                DeskGoto(Desk * dsk);
 void                DeskGotoNum(unsigned int desk);
 void                DeskRestack(Desk * dsk);
 
+void                DeskBackgroundAssign(unsigned int desk, Background * bg);
+Background         *DeskBackgroundGet(const Desk * dsk);
+void                DeskBackgroundSet(Desk * dsk, Background * bg, int 
refresh);
+
 void                DeskCurrentGetArea(int *ax, int *ay);
 void                DeskCurrentGotoArea(int ax, int ay);
 void                DeskCurrentMoveAreaBy(int ax, int ay);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -3 -r1.80 -r1.81
--- ecompmgr.c  12 Nov 2005 15:11:07 -0000      1.80
+++ ecompmgr.c  21 Nov 2005 17:48:44 -0000      1.81
@@ -498,7 +498,7 @@
      }
 
    fill = False;
-   pmap = BackgroundGetPixmap(DeskGetBackground(dsk));
+   pmap = BackgroundGetPixmap(DeskBackgroundGet(dsk));
    if (pmap == None)
      {
        if (cw->pixmap && cw->picture)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iclass.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -3 -r1.82 -r1.83
--- iclass.c    20 Nov 2005 22:47:40 -0000      1.82
+++ iclass.c    21 Nov 2005 17:48:44 -0000      1.83
@@ -170,7 +170,7 @@
        for (i = 0; i < num; i++)
          {
             dsk = DeskGet(i);
-            BackgroundPixmapFree(DeskGetBackground(dsk));
+            BackgroundPixmapFree(DeskBackgroundGet(dsk));
             DeskRefresh(dsk);
          }
      }
@@ -934,7 +934,7 @@
        Drawable            bg;
        int                 xx, yy;
 
-       bg = BackgroundGetPixmap(DeskGetBackground(DesksGetCurrent()));
+       bg = BackgroundGetPixmap(DeskBackgroundGet(DesksGetCurrent()));
        if ((flags & ICLASS_ATTR_GLASS) || (bg == None))
          {
             cr = VRoot.win;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -3 -r1.187 -r1.188
--- pager.c     19 Nov 2005 19:32:45 -0000      1.187
+++ pager.c     21 Nov 2005 17:48:44 -0000      1.188
@@ -506,7 +506,7 @@
        return;
      }
 
-   bg = DeskGetBackground(p->dsk);
+   bg = DeskBackgroundGet(p->dsk);
    if (bg)
      {
        char                s[4096];
@@ -528,7 +528,7 @@
          }
        else
          {
-            BackgroundApply(bg, pmap, p->dw, p->dh, 0);
+            BackgroundApplyPmap(bg, pmap, p->dw, p->dh);
             imlib_context_set_drawable(pmap);
             im = imlib_create_image_from_drawable(0, 0, 0, p->dw, p->dh, 1);
             imlib_context_set_image(im);




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to