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