Enlightenment CVS committal

Author  : atmosphere
Project : e17
Module  : apps/entice

Dir     : e17/apps/entice/src/bin


Modified Files:
        image.c entice.c 


Log Message:
i think this should fix saving for the most part
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/image.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- image.c     29 Feb 2004 16:06:49 -0000      1.38
+++ image.c     1 Mar 2004 05:52:22 -0000       1.39
@@ -117,9 +117,7 @@
          im->ih = imlib_image_get_height();
          evas_object_image_size_set(im->obj, im->iw, im->ih);
          evas_object_image_fill_set(im->obj, 0.0, 0.0, im->iw, im->ih);
-         evas_object_image_data_copy_set(im->obj,
-                                         imlib_image_get_data_for_reading_only
-                                         ());
+         evas_object_image_data_copy_set(im->obj, imlib_image_get_data());
          evas_object_resize(o, w, h);
          /* if we're fitting, it'll need to be recalculated */
          if (entice_image_zoom_fit_get(o))
@@ -212,6 +210,8 @@
                imlib_image_set_format(tmp + 1);
             snprintf(tmpfile, PATH_MAX, "%s.%d", im->filename, getpid());
             imlib_save_image_with_error_return(tmpfile, &err);
+            evas_image_cache_flush(evas_object_evas_get(im->obj));
+            unlink(im->filename);
             switch (err)
             {
               case 0:
@@ -787,15 +787,19 @@
 static Evas_Smart *
 entice_image_get(void)
 {
-   Evas_Smart *s = NULL;
+   static Evas_Smart *s = NULL;
 
-   s = evas_smart_new("EnticeImage", entice_image_add, entice_image_del,
-                      entice_image_layer_set, entice_image_raise,
-                      entice_image_lower, entice_image_stack_above,
-                      entice_image_stack_below, entice_image_move,
-                      entice_image_resize, entice_image_show,
-                      entice_image_hide, entice_image_color_set,
-                      entice_image_clip_set, entice_image_clip_unset, NULL);
+   if (!s)
+   {
+      s = evas_smart_new("EnticeImage", entice_image_add, entice_image_del,
+                         entice_image_layer_set, entice_image_raise,
+                         entice_image_lower, entice_image_stack_above,
+                         entice_image_stack_below, entice_image_move,
+                         entice_image_resize, entice_image_show,
+                         entice_image_hide, entice_image_color_set,
+                         entice_image_clip_set, entice_image_clip_unset,
+                         NULL);
+   }
    return (s);
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entice/src/bin/entice.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- entice.c    2 Feb 2004 19:58:17 -0000       1.35
+++ entice.c    1 Mar 2004 05:52:22 -0000       1.36
@@ -229,12 +229,15 @@
       int iw, ih;
       Evas_Coord w, h;
       int should_fit = 0;
+      int cache;
       char buf[PATH_MAX];
 
       if ((entice->current) && entice_image_file_get(entice->current)
           && !strcmp(e_thumb_file_get(o),
                      entice_image_file_get(entice->current)))
          return;
+      e_thumb_freshen(o);
+
       if (entice_image_file_get(entice->current)
           && (thumb_edje =
               evas_hash_find(entice->thumb.hash,
@@ -779,17 +782,35 @@
    {
       double x, y, w, h;
 
-      if (entice->preview)
+      if (e_thumb_freshen(o) == EPSILON_OK)
       {
-         swallowed =
-            edje_object_part_swallow_get(entice->edje, "EnticeImagePreview");
-         if (swallowed)
-         {
-            /* don't repreview the same image */
-            if (!strcmp(e_thumb_file_get(o), e_thumb_file_get(swallowed)))
-               return;
-            edje_object_part_unswallow(entice->edje, swallowed);
-            evas_object_del(swallowed);
+         if (entice->preview)
+         {
+            swallowed =
+               edje_object_part_swallow_get(entice->edje,
+                                            "EnticeImagePreview");
+            if (swallowed)
+            {
+               edje_object_part_unswallow(entice->edje, swallowed);
+               evas_object_del(swallowed);
+            }
+         }
+      }
+      else
+      {
+         if (entice->preview)
+         {
+            swallowed =
+               edje_object_part_swallow_get(entice->edje,
+                                            "EnticeImagePreview");
+            if (swallowed)
+            {
+               /* don't repreview the same image if cache is same */
+               if (!strcmp(e_thumb_file_get(o), e_thumb_file_get(swallowed)))
+                  return;
+               edje_object_part_unswallow(entice->edje, swallowed);
+               evas_object_del(swallowed);
+            }
          }
       }
       if ((newpreview =
@@ -804,7 +825,8 @@
           * make it almost inivisble before swallowing, without this we get
           * an artifact immediately before a preview request happens 
           */
-         evas_object_resize(newpreview, 2, 2);
+         evas_object_move(newpreview, -50, -50);
+         evas_object_resize(newpreview, 48, 48);
          edje_object_part_swallow(entice->edje, "EnticeImagePreview",
                                   newpreview);
          evas_object_show(newpreview);




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to