rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=569b6e9c561372a272be294c288317e76305db1e
commit 569b6e9c561372a272be294c288317e76305db1e Author: Mykyta Biliavskyi <[email protected]> Date: Wed Jan 11 15:53:12 2017 +0200 Image manager: expand Image_Item structure. Add fields for support image from images set. Next fields was added: borders (left, right, top, bottom), minimun and maximum sizes (width and height), border scale. --- src/bin/ui/image_manager.c | 34 +++++++++++++++++++++++++++++++--- src/bin/ui/main_window.h | 14 ++++++++++++-- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index a1ec3de..dac4ab8 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -181,6 +181,19 @@ _grid_content_get(void *data, return image_obj; } + +static void +_grid_image_set_image_sel(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Image_Item *it = (Image_Item *)data; + + assert(it != NULL); + + evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, it); +} + static inline Evas_Object * _image_manager_image_set_grid_create(Evas_Object *parent, const Image_Item *it) @@ -204,13 +217,29 @@ _image_manager_image_set_grid_create(Evas_Object *parent, evas_object_size_hint_align_set(mng.image, EVAS_HINT_FILL, EVAS_HINT_FILL); res = resource_manager_find(ap.project->RM.image_sets, it->image_name); + int place = 0; EINA_LIST_FOREACH(res->common.uses___, l, image_res) { image_set_item = (Image_Item *)mem_calloc(1, sizeof(Image_Item)); - image_set_item->type = SINGLE_IMAGE; + image_set_item->type = IMAGE_SET_ITEM; image_set_item->image_name = eina_stringshare_add(image_res->common.name); image_set_item->source = eina_stringshare_add(image_res->source); - elm_gengrid_item_append(images_set_grid, gic, image_set_item, NULL, (void *)it); + image_set_item->height = image_res->height; + image_set_item->width = image_res->width; + image_set_item->quality = image_res->quality; + image_set_item->comp_type = image_res->comp_type; + edje_edit_image_set_image_border_get(ap.project->global_object, res->common.name, place, + &image_set_item->border_l, &image_set_item->border_r, + &image_set_item->border_t, &image_set_item->border_b); + edje_edit_image_set_image_max_get(ap.project->global_object, res->common.name, place, + &image_set_item->max_w, &image_set_item->max_h); + edje_edit_image_set_image_min_get(ap.project->global_object, res->common.name, place, + &image_set_item->min_w, &image_set_item->min_h); + image_set_item->border_scale = edje_edit_image_set_image_border_scale_get(ap.project->global_object, + res->common.name, + place); + elm_gengrid_item_append(images_set_grid, gic, image_set_item, _grid_image_set_image_sel , (void *)image_set_item); + place++; } return images_set_grid; @@ -640,7 +669,6 @@ _image_manager_init(void) elm_gengrid_item_append(mng.gengrid, gic_set, it, _grid_sel_cb, NULL); } - evas_object_smart_callback_call(ap.win, SIGNAL_IMAGE_SELECTED, NULL); return true; } diff --git a/src/bin/ui/main_window.h b/src/bin/ui/main_window.h index 7e97ed8..0534ed1 100644 --- a/src/bin/ui/main_window.h +++ b/src/bin/ui/main_window.h @@ -113,8 +113,9 @@ typedef enum typedef enum { - SINGLE_IMAGE = 1, - IMAGE_SET + SINGLE_IMAGE, + IMAGE_SET, + IMAGE_SET_ITEM } Image_Instance_Type; /** @@ -491,6 +492,14 @@ project_export_edc_group(void); struct _Image_Item { + int border_l; + int border_r; + int border_t; + int border_b; + int min_w; + int min_h; + int max_w; + int max_h; int id; const char* image_name; const char* source; @@ -499,6 +508,7 @@ struct _Image_Item Eina_Bool is_used; int height, width; Image_Instance_Type type; + double border_scale; }; /** --
