forked from enlightenment/efl
* edje: Add image set support.
Ease support of Freedesktop multiple size image. Sample: ------- images { .. set { name: "image_name_used"; image { image: "500x500.png" LOSSY 90; size: 201 201 500 500; } image { image: "200x200.png" COMP; size: 51 51 200 200; } image { image: "50x50.png" COMP; size: 11 11 50 50; } image { image: "10x10.png" COMP; size: 0 0 10 10; } } .. } SVN revision: 49369
This commit is contained in:
parent
1774490b2f
commit
83e505b5c6
|
@ -105,7 +105,7 @@ void data_setup(void);
|
|||
void data_write(void);
|
||||
void data_queue_part_lookup(Edje_Part_Collection *pc, char *name, int *dest);
|
||||
void data_queue_program_lookup(Edje_Part_Collection *pc, char *name, int *dest);
|
||||
void data_queue_image_lookup(char *name, int *dest);
|
||||
void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
|
||||
void data_queue_part_slave_lookup(int *master, int *slave);
|
||||
void data_queue_image_slave_lookup(int *master, int *slave);
|
||||
void data_queue_spectrum_lookup(char *name, int *dest);
|
||||
|
|
|
@ -73,6 +73,11 @@
|
|||
static void st_externals_external(void);
|
||||
|
||||
static void st_images_image(void);
|
||||
static void ob_images_set(void);
|
||||
static void st_images_set_name(void);
|
||||
static void ob_images_set_image(void);
|
||||
static void st_images_set_image_image(void);
|
||||
static void st_images_set_image_size(void);
|
||||
|
||||
static void st_fonts_font(void);
|
||||
|
||||
|
@ -261,6 +266,9 @@ New_Statement_Handler statement_handlers[] =
|
|||
{
|
||||
{"externals.external", st_externals_external},
|
||||
{"images.image", st_images_image},
|
||||
{"images.set.name", st_images_set_name},
|
||||
{"images.set.image.image", st_images_set_image_image},
|
||||
{"images.set.image.size", st_images_set_image_size},
|
||||
{"fonts.font", st_fonts_font},
|
||||
{"data.item", st_data_item},
|
||||
{"data.file", st_data_file},
|
||||
|
@ -276,7 +284,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"spectra.spectrum.color", st_spectrum_color},
|
||||
{"collections.externals.external", st_externals_external}, /* dup */
|
||||
{"collections.image", st_images_image}, /* dup */
|
||||
{"collections.set.name", st_images_set_name}, /* dup */
|
||||
{"collections.set.image.image", st_images_set_image_image}, /* dup */
|
||||
{"collections.set.image.size", st_images_set_image_size}, /* dup */
|
||||
{"collections.images.image", st_images_image}, /* dup */
|
||||
{"collections.images.set.name", st_images_set_name}, /* dup */
|
||||
{"collections.images.set.image.image", st_images_set_image_image}, /* dup */
|
||||
{"collections.images.set.image.size", st_images_set_image_size}, /* dup */
|
||||
{"collections.font", st_fonts_font}, /* dup */
|
||||
{"collections.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.styles.style.name", st_styles_style_name}, /* dup */
|
||||
|
@ -295,7 +309,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.data.item", st_collections_group_data_item},
|
||||
{"collections.group.externals.external", st_externals_external}, /* dup */
|
||||
{"collections.group.image", st_images_image}, /* dup */
|
||||
{"collections.group.set.name", st_images_set_name},
|
||||
{"collections.group.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.images.set.name", st_images_set_name},
|
||||
{"collections.group.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.styles.style.name", st_styles_style_name}, /* dup */
|
||||
|
@ -306,7 +326,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.color_classes.color_class.color2", st_color_class_color2}, /* dup */
|
||||
{"collections.group.color_classes.color_class.color3", st_color_class_color3}, /* dup */
|
||||
{"collections.group.parts.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.set.name", st_images_set_name},
|
||||
{"collections.group.parts.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.styles.style.name", st_styles_style_name}, /* dup */
|
||||
|
@ -342,7 +368,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode},
|
||||
{"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline},
|
||||
{"collections.group.parts.part.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.styles.style.name", st_styles_style_name}, /* dup */
|
||||
|
@ -401,7 +433,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.description.image.normal", st_collections_group_parts_part_description_image_normal},
|
||||
{"collections.group.parts.part.description.image.tween", st_collections_group_parts_part_description_image_tween},
|
||||
{"collections.group.parts.part.description.image.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.description.image.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.description.image.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.description.image.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.description.image.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.description.image.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.description.image.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.description.image.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.description.image.border", st_collections_group_parts_part_description_image_border},
|
||||
{"collections.group.parts.part.description.image.middle", st_collections_group_parts_part_description_image_middle},
|
||||
{"collections.group.parts.part.description.image.border_scale", st_collections_group_parts_part_description_image_border_scale},
|
||||
|
@ -465,6 +503,9 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool},
|
||||
{"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice},
|
||||
{"collections.group.parts.part.description.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.description.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.description.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.description.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.description.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.description.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.description.styles.style.name", st_styles_style_name}, /* dup */
|
||||
|
@ -475,7 +516,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.description.color_classes.color_class.color2", st_color_class_color2}, /* dup */
|
||||
{"collections.group.parts.part.description.color_classes.color_class.color3", st_color_class_color3}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.description.programs.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.description.programs.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.description.programs.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.description.programs.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.description.programs.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.description.programs.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.program.name", st_collections_group_programs_program_name}, /* dup */
|
||||
|
@ -497,7 +544,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.description.program.after", st_collections_group_programs_program_after}, /* dup */
|
||||
{"collections.group.parts.part.description.program.api", st_collections_group_programs_program_api}, /* dup */
|
||||
{"collections.group.parts.part.programs.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.programs.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.programs.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.programs.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.programs.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.part.programs.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.part.programs.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.part.programs.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.part.programs.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.programs.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.part.programs.program.name", st_collections_group_programs_program_name}, /* dup */
|
||||
|
@ -519,7 +572,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.parts.part.program.after", st_collections_group_programs_program_after}, /* dup */
|
||||
{"collections.group.parts.part.program.api", st_collections_group_programs_program_api}, /* dup */
|
||||
{"collections.group.parts.programs.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.programs.set.name", st_images_set_name},
|
||||
{"collections.group.parts.programs.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.programs.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.programs.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.parts.programs.images.set.name", st_images_set_name},
|
||||
{"collections.group.parts.programs.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.parts.programs.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.parts.programs.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.programs.fonts.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.parts.programs.program.name", st_collections_group_programs_program_name}, /* dup */
|
||||
|
@ -562,7 +621,13 @@ New_Statement_Handler statement_handlers[] =
|
|||
{"collections.group.programs.program.after", st_collections_group_programs_program_after},
|
||||
{"collections.group.programs.program.api", st_collections_group_programs_program_api},
|
||||
{"collections.group.programs.image", st_images_image}, /* dup */
|
||||
{"collections.group.programs.set.name", st_images_set_name},
|
||||
{"collections.group.programs.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.programs.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.programs.images.image", st_images_image}, /* dup */
|
||||
{"collections.group.programs.images.set.name", st_images_set_name},
|
||||
{"collections.group.programs.images.set.image.image", st_images_set_image_image},
|
||||
{"collections.group.programs.images.set.image.size", st_images_set_image_size},
|
||||
{"collections.group.programs.font", st_fonts_font}, /* dup */
|
||||
{"collections.group.programs.fonts.font", st_fonts_font} /* dup */
|
||||
};
|
||||
|
@ -571,6 +636,8 @@ New_Object_Handler object_handlers[] =
|
|||
{
|
||||
{"externals", NULL},
|
||||
{"images", NULL},
|
||||
{"images.set", ob_images_set},
|
||||
{"images.set.image", ob_images_set_image},
|
||||
{"fonts", NULL},
|
||||
{"data", NULL},
|
||||
{"styles", NULL},
|
||||
|
@ -581,7 +648,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"spectra.spectrum", ob_spectrum},
|
||||
{"collections", ob_collections},
|
||||
{"collections.externals", NULL}, /* dup */
|
||||
{"collections.set", ob_images_set}, /* dup */
|
||||
{"collections.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.images", NULL}, /* dup */
|
||||
{"collections.images.set", ob_images_set}, /* dup */
|
||||
{"collections.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.fonts", NULL}, /* dup */
|
||||
{"collections.styles", NULL}, /* dup */
|
||||
{"collections.styles.style", ob_styles_style}, /* dup */
|
||||
|
@ -592,14 +663,22 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.script", ob_collections_group_script},
|
||||
{"collections.group.lua_script", ob_collections_group_lua_script},
|
||||
{"collections.group.externals", NULL}, /* dup */
|
||||
{"collections.group.set", ob_images_set}, /* dup */
|
||||
{"collections.group.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.images", NULL}, /* dup */
|
||||
{"collections.group.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.fonts", NULL}, /* dup */
|
||||
{"collections.group.styles", NULL}, /* dup */
|
||||
{"collections.group.styles.style", ob_styles_style}, /* dup */
|
||||
{"collections.group.color_classes", NULL}, /* dup */
|
||||
{"collections.group.color_classes.color_class", ob_color_class}, /* dup */
|
||||
{"collections.group.parts", NULL},
|
||||
{"collections.group.parts.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.images", NULL}, /* dup */
|
||||
{"collections.group.parts.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.styles", NULL}, /* dup */
|
||||
{"collections.group.parts.styles.style", ob_styles_style}, /* dup */
|
||||
|
@ -607,7 +686,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.parts.color_classes.color_class", ob_color_class}, /* dup */
|
||||
{"collections.group.parts.part", ob_collections_group_parts_part},
|
||||
{"collections.group.parts.part.dragable", NULL},
|
||||
{"collections.group.parts.part.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.images", NULL}, /* dup */
|
||||
{"collections.group.parts.part.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.part.styles", NULL}, /* dup */
|
||||
{"collections.group.parts.part.styles.style", ob_styles_style}, /* dup */
|
||||
|
@ -623,13 +706,19 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.parts.part.description.rel1", NULL},
|
||||
{"collections.group.parts.part.description.rel2", NULL},
|
||||
{"collections.group.parts.part.description.image", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.image.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.description.image.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.description.image.images", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.image.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.description.image.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.description.fill", NULL},
|
||||
{"collections.group.parts.part.description.fill.origin", NULL},
|
||||
{"collections.group.parts.part.description.fill.size", NULL},
|
||||
{"collections.group.parts.part.description.text", NULL},
|
||||
{"collections.group.parts.part.description.text.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.images", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.description.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.description.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.styles", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */
|
||||
|
@ -648,7 +737,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.parts.part.description.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
{"collections.group.parts.part.description.program.lua_script", ob_collections_group_programs_program_lua_script}, /* dup */
|
||||
{"collections.group.parts.part.description.programs", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.images", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.images.set", ob_images_set},
|
||||
{"collections.group.parts.part.description.programs.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.program", ob_collections_group_programs_program}, /* dup */
|
||||
{"collections.group.parts.part.description.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
|
@ -659,7 +752,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.parts.part.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
{"collections.group.parts.part.program.lua_script", ob_collections_group_programs_program_lua_script}, /* dup */
|
||||
{"collections.group.parts.part.programs", NULL}, /* dup */
|
||||
{"collections.group.parts.part.programs.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.programs.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.programs.images", NULL}, /* dup */
|
||||
{"collections.group.parts.part.programs.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.part.programs.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.part.programs.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.part.programs.program", ob_collections_group_programs_program}, /* dup */
|
||||
{"collections.group.parts.part.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
|
@ -670,7 +767,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.parts.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
{"collections.group.parts.program.lua_script", ob_collections_group_programs_program_lua_script}, /* dup */
|
||||
{"collections.group.parts.programs", NULL}, /* dup */
|
||||
{"collections.group.parts.programs.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.programs.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.programs.images", NULL}, /* dup */
|
||||
{"collections.group.parts.programs.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.parts.programs.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.parts.programs.fonts", NULL}, /* dup */
|
||||
{"collections.group.parts.programs.program", ob_collections_group_programs_program}, /* dup */
|
||||
{"collections.group.parts.programs.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
|
@ -681,7 +782,11 @@ New_Object_Handler object_handlers[] =
|
|||
{"collections.group.program.script", ob_collections_group_programs_program_script}, /* dup */
|
||||
{"collections.group.program.lua_script", ob_collections_group_programs_program_lua_script}, /* dup */
|
||||
{"collections.group.programs", NULL},
|
||||
{"collections.group.programs.set", ob_images_set}, /* dup */
|
||||
{"collections.group.programs.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.programs.images", NULL}, /* dup */
|
||||
{"collections.group.programs.images.set", ob_images_set}, /* dup */
|
||||
{"collections.group.programs.images.set.image", ob_images_set_image}, /* dup */
|
||||
{"collections.group.programs.fonts", NULL}, /* dup */
|
||||
{"collections.group.programs.program", ob_collections_group_programs_program},
|
||||
{"collections.group.programs.program.script", ob_collections_group_programs_program_script},
|
||||
|
@ -778,14 +883,33 @@ st_externals_external(void)
|
|||
images {
|
||||
image: "filename1.ext" COMP;
|
||||
image: "filename2.ext" LOSSY 99;
|
||||
set {
|
||||
name: "image_name_used";
|
||||
image {
|
||||
image: "filename3.ext" LOSSY 90;
|
||||
size: 201 201 500 500;
|
||||
}
|
||||
image {
|
||||
image: "filename4.ext" COMP;
|
||||
size: 51 51 200 200;
|
||||
}
|
||||
image {
|
||||
image: "filename5.ext" COMP;
|
||||
size: 11 11 50 50;
|
||||
}
|
||||
image {
|
||||
image: "filename6.ext" RAW;
|
||||
size: 0 0 10 10;
|
||||
}
|
||||
}
|
||||
..
|
||||
}
|
||||
@description
|
||||
The "images" block is used to list each image file that will be used in
|
||||
the theme along with its compression method (if any).
|
||||
Besides the domcument's root, additional "images" blocks can be
|
||||
Besides the document's root, additional "images" blocks can be
|
||||
included inside other blocks, normally "collections", "group" and
|
||||
"part", easing mantienance of the file list when the theme is split
|
||||
"part", easing maintenance of the file list when the theme is split
|
||||
among multiple files.
|
||||
@endblock
|
||||
|
||||
|
@ -864,6 +988,146 @@ st_images_image(void)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@page edcref
|
||||
|
||||
@block
|
||||
set
|
||||
@context
|
||||
set {
|
||||
name: "image_name_used";
|
||||
image {
|
||||
image: "filename3.ext" LOSSY 90;
|
||||
size: 201 201 500 500;
|
||||
}
|
||||
image {
|
||||
image: "filename4.ext" COMP;
|
||||
size: 51 51 200 200;
|
||||
}
|
||||
image {
|
||||
image: "filename5.ext" COMP;
|
||||
size: 11 11 50 50;
|
||||
}
|
||||
image {
|
||||
image: "filename6.ext" RAW;
|
||||
size: 0 0 10 10;
|
||||
}
|
||||
}
|
||||
@description
|
||||
The "set" block is used to define an image with different content depending on their size.
|
||||
Besides the document's root, additional "set" blocks can be
|
||||
included inside other blocks, normally "collections", "group" and
|
||||
"part", easing maintenance of the file list when the theme is split
|
||||
among multiple files.
|
||||
@endblock
|
||||
*/
|
||||
static void
|
||||
ob_images_set(void)
|
||||
{
|
||||
Edje_Image_Directory_Set *set;
|
||||
|
||||
if (!edje_file->image_dir)
|
||||
edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
|
||||
set = mem_alloc(SZ(Edje_Image_Directory_Set));
|
||||
set->id = eina_list_count(edje_file->image_dir->sets);
|
||||
edje_file->image_dir->sets = eina_list_append(edje_file->image_dir->sets, set);
|
||||
}
|
||||
|
||||
/**
|
||||
@page edcref
|
||||
|
||||
@property
|
||||
name
|
||||
@parameters
|
||||
[image name]
|
||||
@effect
|
||||
Define the name that refer to this image description.
|
||||
@endproperty
|
||||
*/
|
||||
static void
|
||||
st_images_set_name(void)
|
||||
{
|
||||
Edje_Image_Directory_Set *set;
|
||||
|
||||
check_arg_count(1);
|
||||
|
||||
set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
|
||||
set->name = parse_str(0);
|
||||
}
|
||||
|
||||
static void
|
||||
ob_images_set_image(void)
|
||||
{
|
||||
Edje_Image_Directory_Set_Entry *entry;
|
||||
Edje_Image_Directory_Set *set;
|
||||
|
||||
set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
|
||||
|
||||
entry = mem_alloc(SZ(Edje_Image_Directory_Set_Entry));
|
||||
|
||||
set->entries = eina_list_append(set->entries, entry);
|
||||
}
|
||||
|
||||
static void
|
||||
st_images_set_image_image(void)
|
||||
{
|
||||
Edje_Image_Directory_Set_Entry *entry;
|
||||
Edje_Image_Directory_Set *set;
|
||||
Edje_Image_Directory_Entry *img;
|
||||
Eina_List *l;
|
||||
|
||||
set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
|
||||
entry = eina_list_data_get(eina_list_last(set->entries));
|
||||
|
||||
/* Add the image to the global pool with the same syntax. */
|
||||
st_images_image();
|
||||
|
||||
entry->name = parse_str(0);
|
||||
|
||||
EINA_LIST_FOREACH(edje_file->image_dir->entries, l, img)
|
||||
if (!strcmp(img->entry, entry->name))
|
||||
{
|
||||
entry->id = img->id;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@page edcref
|
||||
|
||||
@property
|
||||
size
|
||||
@parameters
|
||||
[minw minh maxw mawh]
|
||||
@effect
|
||||
Define the minimal and maximal size that will select the specified image.
|
||||
@endproperty
|
||||
*/
|
||||
static void
|
||||
st_images_set_image_size(void)
|
||||
{
|
||||
Edje_Image_Directory_Set_Entry *entry;
|
||||
Edje_Image_Directory_Set *set;
|
||||
|
||||
set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
|
||||
entry = eina_list_data_get(eina_list_last(set->entries));
|
||||
|
||||
entry->size.min.w = parse_int(0);
|
||||
entry->size.min.h = parse_int(1);
|
||||
entry->size.max.w = parse_int(2);
|
||||
entry->size.max.h = parse_int(3);
|
||||
|
||||
if (entry->size.min.w > entry->size.max.w
|
||||
|| entry->size.min.h > entry->size.max.h)
|
||||
{
|
||||
ERR("%s: Error. parse error %s:%i. Image min and max size are not in the right order ([%i, %i] < [%i, %i])",
|
||||
progname, file_in, line - 1,
|
||||
entry->size.min.w, entry->size.min.h,
|
||||
entry->size.max.w, entry->size.max.h);
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@page edcref
|
||||
|
||||
|
@ -4024,7 +4288,7 @@ st_collections_group_parts_part_description_image_normal(void)
|
|||
char *name;
|
||||
|
||||
name = parse_str(0);
|
||||
data_queue_image_lookup(name, &(ed->image.id));
|
||||
data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
@ -4070,7 +4334,7 @@ st_collections_group_parts_part_description_image_tween(void)
|
|||
iid = mem_alloc(SZ(Edje_Part_Image_Id));
|
||||
ed->image.tween_list = eina_list_append(ed->image.tween_list, iid);
|
||||
name = parse_str(0);
|
||||
data_queue_image_lookup(name, &(iid->id));
|
||||
data_queue_image_lookup(name, &(iid->id), &(iid->set));
|
||||
free(name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ typedef struct _External_Lookup External_Lookup;
|
|||
typedef struct _Part_Lookup Part_Lookup;
|
||||
typedef struct _Program_Lookup Program_Lookup;
|
||||
typedef struct _Group_Lookup Group_Lookup;
|
||||
typedef struct _String_Lookup Image_Lookup;
|
||||
typedef struct _Image_Lookup Image_Lookup;
|
||||
typedef struct _String_Lookup Spectrum_Lookup;
|
||||
typedef struct _Slave_Lookup Slave_Lookup;
|
||||
typedef struct _Code_Lookup Code_Lookup;
|
||||
|
@ -76,6 +76,13 @@ struct _String_Lookup
|
|||
int *dest;
|
||||
};
|
||||
|
||||
struct _Image_Lookup
|
||||
{
|
||||
char *name;
|
||||
int *dest;
|
||||
Eina_Bool *set;
|
||||
};
|
||||
|
||||
struct _Slave_Lookup
|
||||
{
|
||||
int *master;
|
||||
|
@ -87,6 +94,7 @@ struct _Code_Lookup
|
|||
char *ptr;
|
||||
int len;
|
||||
int val;
|
||||
Eina_Bool set;
|
||||
};
|
||||
|
||||
static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char *ptr, int len));
|
||||
|
@ -208,6 +216,7 @@ check_part (Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
|
|||
Eina_List *l;
|
||||
Edje_Part_Description *data;
|
||||
|
||||
/* FIXME: check image set and sort them. */
|
||||
if (!epd)
|
||||
error_and_abort(ef, "Collection %i: default description missing "
|
||||
"for part \"%s\"\n", pc->id, ep->name);
|
||||
|
@ -1160,7 +1169,7 @@ data_queue_program_lookup(Edje_Part_Collection *pc, char *name, int *dest)
|
|||
}
|
||||
|
||||
void
|
||||
data_queue_image_lookup(char *name, int *dest)
|
||||
data_queue_image_lookup(char *name, int *dest, Eina_Bool *set)
|
||||
{
|
||||
Image_Lookup *il;
|
||||
|
||||
|
@ -1168,6 +1177,7 @@ data_queue_image_lookup(char *name, int *dest)
|
|||
image_lookups = eina_list_append(image_lookups, il);
|
||||
il->name = mem_strdup(name);
|
||||
il->dest = dest;
|
||||
il->set = set;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1328,9 +1338,26 @@ data_process_lookups(void)
|
|||
*(il->dest) = -de->id - 1;
|
||||
else
|
||||
*(il->dest) = de->id;
|
||||
*(il->set) = EINA_FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!l)
|
||||
{
|
||||
Edje_Image_Directory_Set *set;
|
||||
|
||||
EINA_LIST_FOREACH(edje_file->image_dir->sets, l, set)
|
||||
{
|
||||
if ((set->name) && (!strcmp(set->name, il->name)))
|
||||
{
|
||||
handle_slave_lookup(image_slave_lookups, il->dest, set->id);
|
||||
*(il->dest) = set->id;
|
||||
*(il->set) = EINA_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!l)
|
||||
|
@ -1547,7 +1574,7 @@ _data_queue_image_pc_lookup(Edje_Part_Collection *pc __UNUSED__, char *name, cha
|
|||
cl->ptr = ptr;
|
||||
cl->len = len;
|
||||
|
||||
data_queue_image_lookup(name, &(cl->val));
|
||||
data_queue_image_lookup(name, &(cl->val), &(cl->set));
|
||||
|
||||
code_lookups = eina_list_append(code_lookups, cl);
|
||||
}
|
||||
|
@ -1601,6 +1628,7 @@ data_process_script_lookups(void)
|
|||
char buf[12];
|
||||
int n;
|
||||
|
||||
/* FIXME !! Handle set in program */
|
||||
n = eina_convert_itoa(cl->val, buf);
|
||||
if (n > cl->len)
|
||||
{
|
||||
|
|
|
@ -122,7 +122,10 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl
|
|||
if (epd2 != NULL && (epd1 != epd2 || (ep->part->type == EDJE_PART_TYPE_IMAGE && epd2->image.tween_list)))
|
||||
{
|
||||
if (!ep->param2)
|
||||
ep->param2 = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
|
||||
{
|
||||
ep->param2 = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
|
||||
memset(ep->param2, 0, sizeof (Edje_Real_Part_State));
|
||||
}
|
||||
else if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||
_edje_external_parsed_params_free(ep->swallowed_object, ep->param2->external_params);
|
||||
ep->param2->external_params = NULL;
|
||||
|
@ -132,6 +135,8 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl
|
|||
{
|
||||
if (ep->part->type == EDJE_PART_TYPE_EXTERNAL)
|
||||
_edje_external_parsed_params_free(ep->swallowed_object, ep->param2->external_params);
|
||||
if (ep->param2)
|
||||
free(ep->param2->set);
|
||||
eina_mempool_free(_edje_real_part_state_mp, ep->param2);
|
||||
ep->param2 = NULL;
|
||||
}
|
||||
|
@ -1506,6 +1511,70 @@ _edje_table_recalc_apply(Edje *ed __UNUSED__, Edje_Real_Part *ep, Edje_Calc_Para
|
|||
}
|
||||
}
|
||||
|
||||
static int
|
||||
_edje_image_find(Evas_Object *obj, Edje *ed, Edje_Real_Part_Set **eps, Edje_Part_Description *st, Edje_Part_Image_Id *imid)
|
||||
{
|
||||
Edje_Image_Directory_Set_Entry *entry;
|
||||
Edje_Image_Directory_Set *set = NULL;
|
||||
Eina_List *l;
|
||||
int w = 0;
|
||||
int h = 0;
|
||||
int id;
|
||||
|
||||
if (!st && !imid)
|
||||
return -1;
|
||||
|
||||
if (st && !st->image.set)
|
||||
return st->image.id;
|
||||
|
||||
if (imid && !imid->set)
|
||||
return imid->id;
|
||||
|
||||
if (imid)
|
||||
id = imid->id;
|
||||
else
|
||||
id = st->image.id;
|
||||
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
|
||||
|
||||
if (eps && *eps)
|
||||
{
|
||||
if ((*eps)->id == id)
|
||||
set = (*eps)->set;
|
||||
|
||||
if (set)
|
||||
if ((*eps)->entry->size.min.w <= w && w <= (*eps)->entry->size.max.w)
|
||||
if ((*eps)->entry->size.min.h <= h && h <= (*eps)->entry->size.max.h)
|
||||
return (*eps)->entry->id;
|
||||
}
|
||||
|
||||
if (!set)
|
||||
set = eina_list_nth(ed->file->image_dir->sets, id);
|
||||
|
||||
EINA_LIST_FOREACH(set->entries, l, entry)
|
||||
{
|
||||
if (entry->size.min.w <= w && w <= entry->size.max.w)
|
||||
if (entry->size.min.h <= h && h <= entry->size.max.h)
|
||||
{
|
||||
if (eps)
|
||||
{
|
||||
if (!*eps)
|
||||
*eps = calloc(1, sizeof (Edje_Real_Part_Set));
|
||||
|
||||
if (*eps)
|
||||
{
|
||||
(*eps)->entry = entry;
|
||||
(*eps)->set = set;
|
||||
(*eps)->id = id;
|
||||
}
|
||||
}
|
||||
return entry->id;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
_edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edje_Part_Description *chosen_desc, FLOAT_T pos)
|
||||
{
|
||||
|
@ -1530,7 +1599,9 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
|
|||
evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_NONE);
|
||||
else if (chosen_desc->border.no_fill == 2)
|
||||
evas_object_image_border_center_fill_set(ep->object, EVAS_BORDER_FILL_SOLID);
|
||||
image_id = ep->param1.description->image.id;
|
||||
|
||||
image_id = _edje_image_find(ep->object, ed,
|
||||
&ep->param1.set, ep->param1.description, NULL);
|
||||
if (image_id < 0)
|
||||
{
|
||||
Edje_Image_Directory_Entry *ie;
|
||||
|
@ -1554,19 +1625,27 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
|
|||
if (image_num > (image_count - 1))
|
||||
image_num = image_count - 1;
|
||||
if (image_num == 0)
|
||||
image_id = ep->param1.description->image.id;
|
||||
{
|
||||
image_id = _edje_image_find(ep->object, ed,
|
||||
&ep->param1.set, ep->param1.description,
|
||||
NULL);
|
||||
}
|
||||
else
|
||||
if (ep->param2)
|
||||
{
|
||||
if (image_num == (image_count - 1))
|
||||
image_id = ep->param2->description->image.id;
|
||||
{
|
||||
image_id = _edje_image_find(ep->object, ed,
|
||||
&ep->param2->set, ep->param2->description,
|
||||
NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
Edje_Part_Image_Id *imid;
|
||||
|
||||
imid = eina_list_nth(ep->param2->description->image.tween_list,
|
||||
image_num - 1);
|
||||
if (imid) image_id = imid->id;
|
||||
image_id = _edje_image_find(ep->object, ed, NULL, NULL, imid);
|
||||
}
|
||||
}
|
||||
if (image_id < 0)
|
||||
|
|
|
@ -15,6 +15,8 @@ EAPI Eet_Data_Descriptor *_edje_edd_edje_font_directory = NULL;
|
|||
EAPI Eet_Data_Descriptor *_edje_edd_edje_font_directory_entry = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_image_directory = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_image_directory_set = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_image_directory_set_entry = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_spectrum_directory = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_spectrum_directory_entry = NULL;
|
||||
EAPI Eet_Data_Descriptor *_edje_edd_edje_spectrum_color = NULL;
|
||||
|
@ -65,6 +67,8 @@ _edje_edd_shutdown(void)
|
|||
FREED(_edje_edd_edje_part_description);
|
||||
FREED(_edje_edd_edje_part_image_id);
|
||||
FREED(_edje_edd_edje_external_param);
|
||||
FREED(_edje_edd_edje_image_directory_set);
|
||||
FREED(_edje_edd_edje_image_directory_set_entry);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -104,10 +108,28 @@ _edje_edd_init(void)
|
|||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "source_param", source_param, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_entry, Edje_Image_Directory_Entry, "id", id, EET_T_INT);
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set_Entry);
|
||||
_edje_edd_edje_image_directory_set_entry =
|
||||
eet_data_descriptor_file_new(&eddc);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "name", name, EET_T_STRING);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "id", id, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.w", size.min.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "min.h", size.min.h, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.w", size.max.w, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set_entry, Edje_Image_Directory_Set_Entry, "max.h", size.max.h, EET_T_INT);
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory_Set);
|
||||
_edje_edd_edje_image_directory_set =
|
||||
eet_data_descriptor_file_new(&eddc);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "name", name, EET_T_STRING);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "id", id, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory_set, Edje_Image_Directory_Set, "entries", entries, _edje_edd_edje_image_directory_set_entry);
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Image_Directory);
|
||||
_edje_edd_edje_image_directory =
|
||||
eet_data_descriptor_file_new(&eddc);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory, Edje_Image_Directory, "entries", entries, _edje_edd_edje_image_directory_entry);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_image_directory, Edje_Image_Directory, "sets", sets, _edje_edd_edje_image_directory_set);
|
||||
|
||||
/* spectrum directory */
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Spectrum_Color);
|
||||
|
@ -238,6 +260,7 @@ _edje_edd_init(void)
|
|||
_edje_edd_edje_part_image_id =
|
||||
eet_data_descriptor_file_new(&eddc);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "id", id, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_image_id, Edje_Part_Image_Id, "set", set, EET_T_UCHAR);
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_External_Param);
|
||||
_edje_edd_edje_external_param =
|
||||
|
@ -280,6 +303,7 @@ _edje_edd_init(void)
|
|||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_x", rel2.id_x, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "rel2.id_y", rel2.id_y, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "image.id", image.id, EET_T_INT);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "image.set", image.set, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description, Edje_Part_Description, "image.tween_list", image.tween_list, _edje_edd_edje_part_image_id);
|
||||
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "border.l", border.l, EET_T_INT);
|
||||
|
|
|
@ -287,7 +287,13 @@ _edje_real_part_free(Edje_Real_Part *rp)
|
|||
_edje_collection_free_part_description_free(rp->custom->description, 0);
|
||||
|
||||
free(rp->drag);
|
||||
|
||||
if (rp->param2)
|
||||
free(rp->param2->set);
|
||||
eina_mempool_free(_edje_real_part_state_mp, rp->param2);
|
||||
|
||||
if (rp->custom)
|
||||
free(rp->custom->set);
|
||||
eina_mempool_free(_edje_real_part_state_mp, rp->custom);
|
||||
|
||||
_edje_unref(rp->edje);
|
||||
|
|
|
@ -1595,6 +1595,8 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
|
|||
return 0;
|
||||
}
|
||||
|
||||
memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
|
||||
|
||||
*d = *parent;
|
||||
|
||||
d->state.name = (char *)eina_stringshare_add("custom");
|
||||
|
|
|
@ -907,8 +907,14 @@ _edje_file_del(Edje *ed)
|
|||
|
||||
/* Cleanup optional part. */
|
||||
free(rp->drag);
|
||||
free(rp->param1.set);
|
||||
|
||||
if (rp->param2)
|
||||
free(rp->param2->set);
|
||||
eina_mempool_free(_edje_real_part_state_mp, rp->param2);
|
||||
|
||||
if (rp->custom)
|
||||
free(rp->custom->set);
|
||||
eina_mempool_free(_edje_real_part_state_mp, rp->custom);
|
||||
|
||||
_edje_unref(rp->edje);
|
||||
|
|
|
@ -219,6 +219,8 @@ typedef struct _Edje_Font_Directory Edje_Font_Directory;
|
|||
typedef struct _Edje_Font_Directory_Entry Edje_Font_Directory_Entry;
|
||||
typedef struct _Edje_Image_Directory Edje_Image_Directory;
|
||||
typedef struct _Edje_Image_Directory_Entry Edje_Image_Directory_Entry;
|
||||
typedef struct _Edje_Image_Directory_Set Edje_Image_Directory_Set;
|
||||
typedef struct _Edje_Image_Directory_Set_Entry Edje_Image_Directory_Set_Entry;
|
||||
typedef struct _Edje_Spectrum_Directory Edje_Spectrum_Directory;
|
||||
typedef struct _Edje_Spectrum_Directory_Entry Edje_Spectrum_Directory_Entry;
|
||||
typedef struct _Edje_Program Edje_Program;
|
||||
|
@ -399,6 +401,7 @@ struct _Edje_External_Directory_Entry
|
|||
struct _Edje_Image_Directory
|
||||
{
|
||||
Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
|
||||
Eina_List *sets; /* a list of Edje_Image_Directory_Set */
|
||||
};
|
||||
|
||||
struct _Edje_Image_Directory_Entry
|
||||
|
@ -409,6 +412,27 @@ struct _Edje_Image_Directory_Entry
|
|||
int id; /* the id no. of the image */
|
||||
};
|
||||
|
||||
struct _Edje_Image_Directory_Set
|
||||
{
|
||||
char *name;
|
||||
Eina_List *entries;
|
||||
|
||||
int id;
|
||||
};
|
||||
|
||||
struct _Edje_Image_Directory_Set_Entry
|
||||
{
|
||||
char *name;
|
||||
int id;
|
||||
|
||||
struct {
|
||||
struct {
|
||||
int w;
|
||||
int h;
|
||||
} min, max;
|
||||
} size;
|
||||
};
|
||||
|
||||
/*----------*/
|
||||
|
||||
struct _Edje_Spectrum_Directory
|
||||
|
@ -601,6 +625,7 @@ struct _Edje_Part
|
|||
struct _Edje_Part_Image_Id
|
||||
{
|
||||
int id;
|
||||
Eina_Bool set;
|
||||
};
|
||||
|
||||
struct _Edje_Part_Description
|
||||
|
@ -633,6 +658,7 @@ struct _Edje_Part_Description
|
|||
Eina_List *tween_list; /* list of Edje_Part_Image_Id */
|
||||
int id; /* the image id to use */
|
||||
int scale_hint; /* evas scale hint */
|
||||
Eina_Bool set; /* if image condition it's content */
|
||||
} image;
|
||||
|
||||
struct {
|
||||
|
@ -744,6 +770,7 @@ struct _Edje_Part_Description
|
|||
typedef struct _Edje Edje;
|
||||
typedef struct _Edje_Real_Part_State Edje_Real_Part_State;
|
||||
typedef struct _Edje_Real_Part_Drag Edje_Real_Part_Drag;
|
||||
typedef struct _Edje_Real_Part_Set Edje_Real_Part_Set;
|
||||
typedef struct _Edje_Real_Part Edje_Real_Part;
|
||||
typedef struct _Edje_Running_Program Edje_Running_Program;
|
||||
typedef struct _Edje_Signal_Callback Edje_Signal_Callback;
|
||||
|
@ -913,6 +940,14 @@ struct _Edje_Calc_Params
|
|||
unsigned char smooth : 1; // 1
|
||||
}; // 96
|
||||
|
||||
struct _Edje_Real_Part_Set
|
||||
{
|
||||
Edje_Image_Directory_Set_Entry *entry; // 4
|
||||
Edje_Image_Directory_Set *set; // 4
|
||||
|
||||
int id; // 4
|
||||
};
|
||||
|
||||
struct _Edje_Real_Part_State
|
||||
{
|
||||
Edje_Part_Description *description; // 4
|
||||
|
@ -925,8 +960,9 @@ struct _Edje_Real_Part_State
|
|||
Edje_Calc_Params p; // 96
|
||||
#endif
|
||||
void *external_params; // 4
|
||||
}; // 24
|
||||
// WITH EDJE_CALC_CACHE 124
|
||||
Edje_Real_Part_Set *set; // 4
|
||||
}; // 28
|
||||
// WITH EDJE_CALC_CACHE 128
|
||||
|
||||
struct _Edje_Real_Part_Drag
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue