Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_calc.c edje_load.c edje_private.h 


Log Message:
only clear and re-apply gradients when the spectrum actually changes

===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -3 -r1.99 -r1.100
--- edje_calc.c 24 May 2007 03:41:04 -0000      1.99
+++ edje_calc.c 24 May 2007 04:34:40 -0000      1.100
@@ -1339,7 +1339,7 @@
             if (p3.gradient.type && p3.gradient.type[0])
               evas_object_gradient_type_set(ep->object, p3.gradient.type, 
NULL);
 
-            if (ed->file->spectrum_dir && ed->file->spectrum_dir->entries)
+            if (ed->file->spectrum_dir && ed->file->spectrum_dir->entries && 
p3.gradient.id != ep->gradient_id)
               {
                  Edje_Spectrum_Directory_Entry *se;
                  Evas_List *l;
@@ -1347,7 +1347,6 @@
                  se = evas_list_nth(ed->file->spectrum_dir->entries, 
p3.gradient.id);
                  if (se) 
                    {
-                      // XXX only do this if we NEED to (e.g. gradient changed)
                       evas_object_gradient_clear(ep->object);
                       for (l = se->color_list; l; l = l->next)
                         {
@@ -1358,6 +1357,7 @@
                            evas_object_gradient_alpha_stop_add(ep->object,
                                                                sc->a, sc->d);
                         }
+                      ep->gradient_id = p3.gradient.id;
                    }
               }
          }
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -3 -r1.102 -r1.103
--- edje_load.c 15 Apr 2007 03:19:35 -0000      1.102
+++ edje_load.c 24 May 2007 04:34:41 -0000      1.103
@@ -145,6 +145,7 @@
               }
             rp->drag.step.x = ep->dragable.step_x;
             rp->drag.step.y = ep->dragable.step_y;
+            rp->gradient_id = -1;
          }
        if (n > 0)
          {
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -3 -r1.122 -r1.123
--- edje_private.h      3 May 2007 23:15:09 -0000       1.122
+++ edje_private.h      24 May 2007 04:34:41 -0000      1.123
@@ -674,6 +674,9 @@
       Edje_Real_Part        *source;
       Edje_Real_Part        *text_source;
    } text;
+
+   int                       gradient_id;
+
    double                    description_pos;
    Edje_Part_Description    *chosen_description;
    struct {



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to