Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/lib


Modified Files:
        ewl_image.c 


Log Message:
Use the minimum size of the edje group for the image widget preferred size.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_image.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_image.c 26 Mar 2005 05:54:33 -0000      1.4
+++ ewl_image.c 27 Mar 2005 03:41:13 -0000      1.5
@@ -48,6 +48,8 @@
        ewl_widget_init(w, "image");
        ewl_widget_inherit(w, "image");
 
+       ewl_object_fill_policy_set(EWL_OBJECT(w), EWL_FLAG_FILL_NONE);
+
        /*
         * Append necessary callbacks.
         */
@@ -282,6 +284,7 @@
 {
        Ewl_Image      *i;
        Ewl_Embed      *emb;
+       int             width, height;
 
        DENTER_FUNCTION(DLEVEL_STABLE);
        DCHECK_PARAM_PTR("w", w);
@@ -300,7 +303,7 @@
 
                if (i->path)
                        edje_object_file_set(i->image, i->path, i->key);
-
+               evas_object_image_size_get(i->image, &i->ow, &i->oh);
        } else {
                i->image = evas_object_image_add(emb->evas);
                if (!i->image)
@@ -308,28 +311,31 @@
 
                if (i->path)
                        evas_object_image_file_set(i->image, i->path, i->key);
+               edje_object_size_min_get(i->image, &i->ow, &i->oh);
        }
 
        evas_object_layer_set(i->image, ewl_widget_layer_sum_get(w));
        if (w->fx_clip_box)
                evas_object_clip_set(i->image, w->fx_clip_box);
-       evas_object_image_size_get(i->image, &i->ow, &i->oh);
        evas_object_pass_events_set(i->image, TRUE);
        evas_object_show(i->image);
 
        if (!i->ow)
-               i->ow = 256;
+               i->ow = 1;
        if (!i->oh)
-               i->oh = 256;
+               i->oh = 1;
+
+       width = ewl_object_preferred_inner_w_get(EWL_OBJECT(i));
+       height = ewl_object_preferred_inner_h_get(EWL_OBJECT(i));
 
-       if (!ewl_object_preferred_inner_w_get(EWL_OBJECT(i))) {
+       if ((width > EWL_OBJECT_MIN_SIZE) && (height > EWL_OBJECT_MIN_SIZE)) {
+               ewl_image_scale_to(i, width, height);
+       }
+       else {
                ewl_object_preferred_inner_w_set(EWL_OBJECT(i), i->ow);
                ewl_object_preferred_inner_h_set(EWL_OBJECT(i), i->oh);
                ewl_image_scale(i, i->sw, i->sh);
        }
-       else
-               ewl_image_scale_to(i, 
ewl_object_preferred_inner_w_get(EWL_OBJECT(i)),
-                               
ewl_object_preferred_inner_h_get(EWL_OBJECT(i)));
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to