summaryrefslogtreecommitdiff
path: root/src/bin/evas
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2013-09-04 16:14:37 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2013-10-28 15:47:15 +0900
commit97d9fab7042f213498268dfc58636b823380245c (patch)
tree344ac20e4aa4854d23dba9f7afada5b6a2759e65 /src/bin/evas
parentbfe3fe27df9384642d8f3b277ec694c9d42fc0c9 (diff)
downloadefl-97d9fab7042f213498268dfc58636b823380245c.tar.gz
evas/cserve2: Fallback to normal cache for animated gifs
Pass around "animated" flag for images that can be animated. Fallback to local cache if the image is animated. Implementing support for animated images in cserve2 does not seem to make a lot of sense considering each frame must be requested independently in real time,... and to be honest there doesn't seem to be any valid use case anyway :)
Diffstat (limited to 'src/bin/evas')
-rw-r--r--src/bin/evas/evas_cserve2_cache.c2
-rw-r--r--src/bin/evas/evas_cserve2_shm_debug.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/bin/evas/evas_cserve2_cache.c b/src/bin/evas/evas_cserve2_cache.c
index 40cd55df4b..83923d48c9 100644
--- a/src/bin/evas/evas_cserve2_cache.c
+++ b/src/bin/evas/evas_cserve2_cache.c
@@ -444,6 +444,7 @@ _image_opened_msg_create(File_Data *fd, int *size)
msg->image.loop_count = fd->loop_count;
msg->image.loop_hint = fd->loop_hint;
msg->image.alpha = fd->alpha;
+ msg->image.animated = fd->animated;
*size = sizeof(*msg);
@@ -615,6 +616,7 @@ _open_request_response(Entry *entry, Slave_Msg_Image_Opened *resp, int *size)
fd->w = resp->w;
fd->h = resp->h;
+ fd->animated = resp->animated;
fd->frame_count = resp->frame_count;
fd->loop_count = resp->loop_count;
fd->loop_hint = resp->loop_hint;
diff --git a/src/bin/evas/evas_cserve2_shm_debug.c b/src/bin/evas/evas_cserve2_shm_debug.c
index 426fd67a95..49bae201f0 100644
--- a/src/bin/evas/evas_cserve2_shm_debug.c
+++ b/src/bin/evas/evas_cserve2_shm_debug.c
@@ -519,7 +519,8 @@ _images_all_print_full(void)
printf(" Loader: %s\n",
_shared_string_get(fd->loader_data));
printf(" Geometry: %dx%d\n", fd->w, fd->h);
- printf(" Animation: frames: %d, loop: %d, hint: %d\n",
+ printf(" Animation: anim: %s, frames: %d, loop: %d, hint: %d\n",
+ fd->animated ? "YES" : "NO",
fd->frame_count, fd->loop_count, fd->loop_hint);
printf(" Alpha: %s\n", fd->alpha ? "YES" : "NO");
printf(" Invalid: %s\n", fd->invalid ? "YES" : "NO");