From 25d71f823668ecb1865c61f306890fee654b9d32 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 24 Sep 2013 18:18:53 +0900 Subject: evas/cserve2: Add alpha flag to Image_data --- src/bin/evas/evas_cserve2.h | 1 + src/bin/evas/evas_cserve2_cache.c | 14 +++----------- src/bin/evas/evas_cserve2_slave.c | 1 + 3 files changed, 5 insertions(+), 11 deletions(-) (limited to 'src/bin') diff --git a/src/bin/evas/evas_cserve2.h b/src/bin/evas/evas_cserve2.h index 2a3a40eb67..158eefda3d 100644 --- a/src/bin/evas/evas_cserve2.h +++ b/src/bin/evas/evas_cserve2.h @@ -146,6 +146,7 @@ struct _Slave_Msg_Image_Load { struct _Slave_Msg_Image_Loaded { int w, h; + Eina_Bool alpha : 1; Eina_Bool alpha_sparse : 1; }; diff --git a/src/bin/evas/evas_cserve2_cache.c b/src/bin/evas/evas_cserve2_cache.c index e86643df54..d0589dd4b8 100644 --- a/src/bin/evas/evas_cserve2_cache.c +++ b/src/bin/evas/evas_cserve2_cache.c @@ -508,6 +508,7 @@ _image_loaded_msg_create(Image_Entry *ientry, Image_Data *idata, int *size) msg->alpha_sparse = idata->alpha_sparse; msg->image.w = idata->w; msg->image.h = idata->h; + msg->alpha = idata->alpha; if (idata->shm_id) { @@ -806,18 +807,8 @@ _scaling_do(Shm_Handle *scale_shm, Image_Data *idata, Image_Entry *original) { char *scale_map, *orig_map; void *src_data, *dst_data; - File_Data *fd; Image_Data *orig_idata; -#warning FIXME Remove this call, add alpha flag to Image_Data - fd = _file_data_find(idata->file_id); - if (!fd) - { - ERR("Could not find file data %u for image %u", - idata->file_id, idata->id); - return -1; - } - orig_idata = _image_data_find(original->base.id); if (!orig_idata) { @@ -858,7 +849,7 @@ _scaling_do(Shm_Handle *scale_shm, Image_Data *idata, Image_Entry *original) idata->opts.scale_load.src_w, idata->opts.scale_load.src_h, 0, 0, idata->opts.scale_load.dst_w, idata->opts.scale_load.dst_h, - fd->alpha, idata->opts.scale_load.smooth); + idata->alpha, idata->opts.scale_load.smooth); cserve2_shm_unmap(original->shm); cserve2_shm_unmap(scale_shm); @@ -906,6 +897,7 @@ _load_request_response(Image_Entry *ientry, _entry_load_finish(ASENTRY(ientry)); ASENTRY(ientry)->request = NULL; + idata->alpha = resp->alpha; idata->alpha_sparse = resp->alpha_sparse; if (!idata->doload) DBG("Entry %d loaded by speculative preload.", idata->id); diff --git a/src/bin/evas/evas_cserve2_slave.c b/src/bin/evas/evas_cserve2_slave.c index 963a1dba76..43fc3a5b19 100644 --- a/src/bin/evas/evas_cserve2_slave.c +++ b/src/bin/evas/evas_cserve2_slave.c @@ -456,6 +456,7 @@ image_load(const char *file, const char *key, const char *shmfile, result->w = property.w; result->h = property.h; + result->alpha = property.alpha; if (property.alpha && property.premul) { -- cgit v1.2.1