filter = &(((Edje_Part_Description_Text *)current_desc)->filter);
else if (current_part->type == EDJE_PART_TYPE_IMAGE)
filter = &(((Edje_Part_Description_Image *)current_desc)->filter);
+ else if (current_part->type == EDJE_PART_TYPE_PROXY)
+ filter = &(((Edje_Part_Description_Proxy *)current_desc)->filter);
else
{
- ERR("parse error %s:%i. filter set for non-TEXT and non-IMAGE part.",
+ ERR("parse error %s:%i. filter only supported for: TEXT, IMAGE, PROXY.",
file_in, line - 1);
exit(-1);
}
filter = &(((Edje_Part_Description_Text *)current_desc)->filter);
else if (current_part->type == EDJE_PART_TYPE_IMAGE)
filter = &(((Edje_Part_Description_Image *)current_desc)->filter);
+ else if (current_part->type == EDJE_PART_TYPE_PROXY)
+ filter = &(((Edje_Part_Description_Proxy *)current_desc)->filter);
else
{
ERR("parse error %s:%i. filter set for non-TEXT and non-IMAGE part.",
filter = &(((Edje_Part_Description_Text *)current_desc)->filter);
else if (current_part->type == EDJE_PART_TYPE_IMAGE)
filter = &(((Edje_Part_Description_Image *)current_desc)->filter);
+ else if (current_part->type == EDJE_PART_TYPE_PROXY)
+ filter = &(((Edje_Part_Description_Proxy *)current_desc)->filter);
else
{
ERR("parse error %s:%i. filter set for non-TEXT and non-IMAGE part.",
Evas_Object *obj = ep->object;
Eina_List *li1, *li2;
- /* handle TEXT and IMAGE part types here */
+ /* handle TEXT, IMAGE, PROXY part types here */
if (ep->part->type == EDJE_PART_TYPE_TEXT)
{
Edje_Part_Description_Text *chosen_edt = (Edje_Part_Description_Text *) chosen_desc;
prev_sources = edi->filter.sources;
filter_sources = chosen_edi->filter.sources;
}
+ else if (ep->part->type == EDJE_PART_TYPE_PROXY)
+ {
+ Edje_Part_Description_Proxy *chosen_edp = (Edje_Part_Description_Proxy *) chosen_desc;
+ Edje_Part_Description_Proxy *edp = (Edje_Part_Description_Proxy *) desc;
+ filter = &chosen_edp->filter;
+ prev_sources = edp->filter.sources;
+ filter_sources = chosen_edp->filter.sources;
+ }
else
{
CRI("Invalid call to filter recalc");
_edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos);
}
+ else if (ep->part->type == EDJE_PART_TYPE_PROXY)
+ {
+ _edje_part_recalc_single_filter(ed, ep, desc, chosen_desc, pos);
+ }
/* remember what our size is BEFORE we go limit it */
params->req.x = TO_INT(params->eval.x);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.fill.type", proxy.fill.type, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_visible", proxy.source_visible, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.source_clip", proxy.source_clip, EET_T_CHAR);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.filter.code", filter.code, EET_T_STRING); // @since 1.16
+ EET_DATA_DESCRIPTOR_ADD_LIST_STRING(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.filter.sources", filter.sources); // @since 1.16
+ EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_description_proxy, Edje_Part_Description_Proxy, "proxy.filter.data", filter.data, _edje_edd_edje_part_description_filter_data); // @since 1.16
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Text);
eddc.func.mem_free = mem_free_text;
{
Edje_Part_Description_Common common;
Edje_Part_Description_Spec_Proxy proxy;
- //Edje_Part_Description_Spec_Filter filter;
+ Edje_Part_Description_Spec_Filter filter;
};
struct _Edje_Part_Description_Text