not evas_coord safe! fix. :)
authorCarsten Haitzler <raster@rasterman.com>
Tue, 27 Apr 2004 08:16:13 +0000 (08:16 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Tue, 27 Apr 2004 08:16:13 +0000 (08:16 +0000)
SVN revision: 9921

legacy/edje/data/src/e_logo.edc
legacy/edje/src/lib/Edje_Edit.h
legacy/edje/src/lib/edje_calc.c
legacy/edje/src/lib/edje_main.c
legacy/edje/src/lib/edje_smart.c
legacy/edje/src/lib/edje_text.c

index 3d93741..df89db9 100644 (file)
@@ -454,6 +454,8 @@ collections {
 //         source:     "*";
            action:     STATE_SET "clicked" 0.0;
            transition: LINEAR 0.0;
+           // NB: targets MUST come AFTER the action line so edje_cc knows
+           // what to lookup
            target:     "logo";
         }
         program {
index cdd6d94..3f51916 100644 (file)
@@ -392,9 +392,9 @@ struct _Edje
    char                 *part;
    
    int                   layer;
-   double                x, y, w, h;
+   Evas_Coord            x, y, w, h;
    struct {
-      double             w, h;
+      Evas_Coord         w, h;
    } min;
    unsigned short        dirty : 1;
    unsigned short        recalc : 1;
index 0b9b08c..b299323 100644 (file)
@@ -314,7 +314,7 @@ _edje_part_recalc_single(Edje *ed,
      params->h = desc->rel2.offset_y +
      (desc->rel2.relative_y * ed->h) -
      params->y + 1;
-
+   
    /* aspect */
    if (params->h > 0)
      {
@@ -405,10 +405,10 @@ _edje_part_recalc_single(Edje *ed,
    /* if we have text that wants to make the min size the text size... */
    if ((chosen_desc) && (ep->part->type == EDJE_PART_TYPE_TEXT))
      {
-       char   *text;
-       char   *font;
-       int     size;
-       double  tw, th;
+       char      *text;
+       char      *font;
+       int        size;
+       Evas_Coord tw, th;
        
        text = chosen_desc->text.text;
        font = chosen_desc->text.font;
@@ -708,9 +708,12 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep)
 
        p3.text.align.x = (p1.text.align.x * (1.0 - pos)) + (p2.text.align.x * (pos));
        p3.text.align.y = (p1.text.align.y * (1.0 - pos)) + (p2.text.align.y * (pos));
+       
      }
    else
-     p3 = p1;
+     {
+       p3 = p1;
+     }
 
    if ((chosen_desc->color_class) && (strlen(chosen_desc->color_class) > 0))
      {
index 66936f9..7856d2d 100644 (file)
@@ -41,8 +41,8 @@ _edje_add(Evas_Object *obj)
    ed->clipper = evas_object_rectangle_add(ed->evas);
    evas_object_smart_member_add(ed->clipper, obj);
    evas_object_color_set(ed->clipper, 255, 255, 255, 255);
-   evas_object_move(ed->clipper, -1e+8, -1e+8);
-   evas_object_resize(ed->clipper, 2e+8, 2e+8);
+   evas_object_move(ed->clipper, -1000000, -1000000);
+   evas_object_resize(ed->clipper, 2000000, 2000000);
    evas_object_pass_events_set(ed->clipper, 1);
    ed->have_objects = 1;
    ed->references = 1;
index c701787..ee7e705 100644 (file)
@@ -254,17 +254,16 @@ _edje_smart_move(Evas_Object * obj, Evas_Coord x, Evas_Coord y)
        Evas_Coord ox, oy;
        
        ep = l->data;
-       evas_object_geometry_get(ep->object, &ox, &oy, NULL, NULL);
        evas_object_move(ep->object, ed->x + ep->x + ep->offset.x, ed->y + ep->y +ep->offset.y);
        if (ep->swallowed_object)
          {
-            evas_object_geometry_get(ep->swallowed_object, &ox, &oy, NULL, NULL);
             evas_object_move(ep->swallowed_object, ed->x + ep->x + ep->offset.x, ed->y + ep->y +ep->offset.y);
          }
        if (ep->extra_objects)
          {
             Evas_List *el;
             
+            evas_object_geometry_get(ep->object, &ox, &oy, NULL, NULL);
             for (el = ep->extra_objects; el; el = el->next)
               {
                  Evas_Object *o;
index 93f5cb6..3782c51 100644 (file)
@@ -223,7 +223,6 @@ _edje_text_part_on_add_clippers(Edje *ed, Edje_Real_Part *ep)
                  evas_object_clip_set(o, ep->clip_to->object);
               }
          }
-       
      }
 }
 
@@ -543,6 +542,7 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
    evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
    ep->offset.x = ox + ((sw - tw) * params->text.align.x);
    ep->offset.y = oy + ((sh - th) * params->text.align.y);
+   
    evas_object_move(ep->object,
                    ed->x + params->x + ep->offset.x,
                    ed->y + params->y + ep->offset.y);