From a437178787bf3e39f6021245ff5b9cde3c549343 Mon Sep 17 00:00:00 2001 From: cedric Date: Fri, 16 Jul 2010 16:00:26 +0000 Subject: [PATCH] * edje: last move of properties in the right structure. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@50284 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/bin/edje_cc_handlers.c | 54 ++++++++--------- src/lib/edje_calc.c | 148 ++++++++++++++++++++++----------------------- src/lib/edje_data.c | 26 ++++---- src/lib/edje_edit.c | 112 +++++++++++++++++----------------- src/lib/edje_embryo.c | 54 ++++++++--------- src/lib/edje_load.c | 18 +++--- src/lib/edje_private.h | 8 ++- src/lib/edje_util.c | 8 +-- 8 files changed, 215 insertions(+), 213 deletions(-) diff --git a/src/bin/edje_cc_handlers.c b/src/bin/edje_cc_handlers.c index cf5f289..24ed3ef 100644 --- a/src/bin/edje_cc_handlers.c +++ b/src/bin/edje_cc_handlers.c @@ -3278,19 +3278,19 @@ ob_collections_group_parts_part_description(void) ed->image.fill.angle = 0; ed->image.fill.spread = 0; ed->image.fill.type = EDJE_FILL_TYPE_SCALE; - ed->color_class = NULL; - ed->color.r = 255; - ed->color.g = 255; - ed->color.b = 255; - ed->color.a = 255; - ed->color2.r = 0; - ed->color2.g = 0; - ed->color2.b = 0; - ed->color2.a = 255; - ed->color3.r = 0; - ed->color3.g = 0; - ed->color3.b = 0; - ed->color3.a = 128; + ed->common.color_class = NULL; + ed->common.color.r = 255; + ed->common.color.g = 255; + ed->common.color.b = 255; + ed->common.color.a = 255; + ed->common.color2.r = 0; + ed->common.color2.g = 0; + ed->common.color2.b = 0; + ed->common.color2.a = 255; + ed->text.color3.r = 0; + ed->text.color3.g = 0; + ed->text.color3.b = 0; + ed->text.color3.a = 128; ed->text.align.x = FROM_DOUBLE(0.5); ed->text.align.y = FROM_DOUBLE(0.5); ed->text.id_source = -1; @@ -3445,7 +3445,7 @@ st_collections_group_parts_part_description_inherit(void) #define STRDUP(x) x ? strdup(x) : NULL - ed->color_class = STRDUP(ed->color_class); + ed->common.color_class = STRDUP(ed->common.color_class); ed->text.text = STRDUP(ed->text.text); ed->text.text_class = STRDUP(ed->text.text_class); ed->text.font = STRDUP(ed->text.font); @@ -3769,7 +3769,7 @@ st_collections_group_parts_part_description_color_class(void) ep = eina_list_data_get(eina_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc)); - ed->color_class = parse_str(0); + ed->common.color_class = parse_str(0); } /** @@ -3795,10 +3795,10 @@ st_collections_group_parts_part_description_color(void) ep = eina_list_data_get(eina_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc)); - ed->color.r = parse_int_range(0, 0, 255); - ed->color.g = parse_int_range(1, 0, 255); - ed->color.b = parse_int_range(2, 0, 255); - ed->color.a = parse_int_range(3, 0, 255); + ed->common.color.r = parse_int_range(0, 0, 255); + ed->common.color.g = parse_int_range(1, 0, 255); + ed->common.color.b = parse_int_range(2, 0, 255); + ed->common.color.a = parse_int_range(3, 0, 255); } /** @@ -3824,10 +3824,10 @@ st_collections_group_parts_part_description_color2(void) ep = eina_list_data_get(eina_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc)); - ed->color2.r = parse_int_range(0, 0, 255); - ed->color2.g = parse_int_range(1, 0, 255); - ed->color2.b = parse_int_range(2, 0, 255); - ed->color2.a = parse_int_range(3, 0, 255); + ed->common.color2.r = parse_int_range(0, 0, 255); + ed->common.color2.g = parse_int_range(1, 0, 255); + ed->common.color2.b = parse_int_range(2, 0, 255); + ed->common.color2.a = parse_int_range(3, 0, 255); } /** @@ -3853,10 +3853,10 @@ st_collections_group_parts_part_description_color3(void) ep = eina_list_data_get(eina_list_last(pc->parts)); ed = ep->default_desc; if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc)); - ed->color3.r = parse_int_range(0, 0, 255); - ed->color3.g = parse_int_range(1, 0, 255); - ed->color3.b = parse_int_range(2, 0, 255); - ed->color3.a = parse_int_range(3, 0, 255); + ed->text.color3.r = parse_int_range(0, 0, 255); + ed->text.color3.g = parse_int_range(1, 0, 255); + ed->text.color3.b = parse_int_range(2, 0, 255); + ed->text.color3.a = parse_int_range(3, 0, 255); } /** diff --git a/src/lib/edje_calc.c b/src/lib/edje_calc.c index ac262a7..27b9efc 100644 --- a/src/lib/edje_calc.c +++ b/src/lib/edje_calc.c @@ -1284,22 +1284,22 @@ _edje_part_recalc_single(Edje *ed, _edje_part_recalc_single_fill(ep, &desc->image, params, flags); /* colors */ - if ((desc->color_class) && (*desc->color_class)) - cc = _edje_color_class_find(ed, desc->color_class); + if ((desc->common.color_class) && (*desc->common.color_class)) + cc = _edje_color_class_find(ed, desc->common.color_class); if (cc) { - params->color.r = (((int)cc->r + 1) * desc->color.r) >> 8; - params->color.g = (((int)cc->g + 1) * desc->color.g) >> 8; - params->color.b = (((int)cc->b + 1) * desc->color.b) >> 8; - params->color.a = (((int)cc->a + 1) * desc->color.a) >> 8; + params->color.r = (((int)cc->r + 1) * desc->common.color.r) >> 8; + params->color.g = (((int)cc->g + 1) * desc->common.color.g) >> 8; + params->color.b = (((int)cc->b + 1) * desc->common.color.b) >> 8; + params->color.a = (((int)cc->a + 1) * desc->common.color.a) >> 8; } else { - params->color.r = desc->color.r; - params->color.g = desc->color.g; - params->color.b = desc->color.b; - params->color.a = desc->color.a; + params->color.r = desc->common.color.r; + params->color.g = desc->common.color.g; + params->color.b = desc->common.color.b; + params->color.a = desc->common.color.a; } /* visible */ @@ -1336,25 +1336,25 @@ _edje_part_recalc_single(Edje *ed, /* text colors */ if (cc) { - params->type.text.color2.r = (((int)cc->r2 + 1) * desc->color2.r) >> 8; - params->type.text.color2.g = (((int)cc->g2 + 1) * desc->color2.g) >> 8; - params->type.text.color2.b = (((int)cc->b2 + 1) * desc->color2.b) >> 8; - params->type.text.color2.a = (((int)cc->a2 + 1) * desc->color2.a) >> 8; - params->type.text.color3.r = (((int)cc->r3 + 1) * desc->color3.r) >> 8; - params->type.text.color3.g = (((int)cc->g3 + 1) * desc->color3.g) >> 8; - params->type.text.color3.b = (((int)cc->b3 + 1) * desc->color3.b) >> 8; - params->type.text.color3.a = (((int)cc->a3 + 1) * desc->color3.a) >> 8; + params->type.text.color2.r = (((int)cc->r2 + 1) * desc->common.color2.r) >> 8; + params->type.text.color2.g = (((int)cc->g2 + 1) * desc->common.color2.g) >> 8; + params->type.text.color2.b = (((int)cc->b2 + 1) * desc->common.color2.b) >> 8; + params->type.text.color2.a = (((int)cc->a2 + 1) * desc->common.color2.a) >> 8; + params->type.text.color3.r = (((int)cc->r3 + 1) * desc->text.color3.r) >> 8; + params->type.text.color3.g = (((int)cc->g3 + 1) * desc->text.color3.g) >> 8; + params->type.text.color3.b = (((int)cc->b3 + 1) * desc->text.color3.b) >> 8; + params->type.text.color3.a = (((int)cc->a3 + 1) * desc->text.color3.a) >> 8; } else { - params->type.text.color2.r = desc->color2.r; - params->type.text.color2.g = desc->color2.g; - params->type.text.color2.b = desc->color2.b; - params->type.text.color2.a = desc->color2.a; - params->type.text.color3.r = desc->color3.r; - params->type.text.color3.g = desc->color3.g; - params->type.text.color3.b = desc->color3.b; - params->type.text.color3.a = desc->color3.a; + params->type.text.color2.r = desc->common.color2.r; + params->type.text.color2.g = desc->common.color2.g; + params->type.text.color2.b = desc->common.color2.b; + params->type.text.color2.a = desc->common.color2.a; + params->type.text.color3.r = desc->text.color3.r; + params->type.text.color3.g = desc->text.color3.g; + params->type.text.color3.b = desc->text.color3.b; + params->type.text.color3.a = desc->text.color3.a; } break; case EDJE_PART_TYPE_RECTANGLE: @@ -2159,34 +2159,34 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags) lz1 = ep2desc1->common.persp.zplane + TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane - ep2desc1->common.persp.zplane)); - lr1 = ep2desc1->color.r + - TO_INT(SCALE(ep2pos, ep2desc2->color.r - - ep2desc1->color.r)); - lg1 = ep2desc1->color.g + - TO_INT(SCALE(ep2pos, ep2desc2->color.g - - ep2desc1->color.b)); - lb1 = ep2desc1->color.b + - TO_INT(SCALE(ep2pos, ep2desc2->color.g - - ep2desc1->color.b)); - lar1 = ep2desc1->color2.r + - TO_INT(SCALE(ep2pos, ep2desc2->color2.r - - ep2desc1->color2.r)); - lag1 = ep2desc1->color2.g + - TO_INT(SCALE(ep2pos, ep2desc2->color2.g - - ep2desc1->color2.b)); - lab1 = ep2desc1->color2.b + - TO_INT(SCALE(ep2pos, ep2desc2->color2.g - - ep2desc1->color2.b)); + lr1 = ep2desc1->common.color.r + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.r - + ep2desc1->common.color.r)); + lg1 = ep2desc1->common.color.g + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.g - + ep2desc1->common.color.b)); + lb1 = ep2desc1->common.color.b + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.g - + ep2desc1->common.color.b)); + lar1 = ep2desc1->common.color2.r + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.r - + ep2desc1->common.color2.r)); + lag1 = ep2desc1->common.color2.g + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.g - + ep2desc1->common.color2.b)); + lab1 = ep2desc1->common.color2.b + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.g - + ep2desc1->common.color2.b)); } else { lz1 = ep2desc1->common.persp.zplane; - lr1 = ep2desc1->color.r; - lg1 = ep2desc1->color.g; - lb1 = ep2desc1->color.b; - lar1 = ep2desc1->color2.r; - lag1 = ep2desc1->color2.g; - lab1 = ep2desc1->color2.b; + lr1 = ep2desc1->common.color.r; + lg1 = ep2desc1->common.color.g; + lb1 = ep2desc1->common.color.b; + lar1 = ep2desc1->common.color2.r; + lag1 = ep2desc1->common.color2.g; + lab1 = ep2desc1->common.color2.b; } } } @@ -2220,34 +2220,34 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags) lz2 = ep2desc1->common.persp.zplane + TO_INT(SCALE(ep2pos, ep2desc2->common.persp.zplane - ep2desc1->common.persp.zplane)); - lr2 = ep2desc1->color.r + - TO_INT(SCALE(ep2pos, ep2desc2->color.r - - ep2desc1->color.r)); - lg2 = ep2desc1->color.g + - TO_INT(SCALE(ep2pos, ep2desc2->color.g - - ep2desc1->color.b)); - lb2 = ep2desc1->color.b + - TO_INT(SCALE(ep2pos, ep2desc2->color.g - - ep2desc1->color.b)); - lar2 = ep2desc1->color2.r + - TO_INT(SCALE(ep2pos, ep2desc2->color2.r - - ep2desc1->color2.r)); - lag2 = ep2desc1->color2.g + - TO_INT(SCALE(ep2pos, ep2desc2->color2.g - - ep2desc1->color2.b)); - lab2 = ep2desc1->color2.b + - TO_INT(SCALE(ep2pos, ep2desc2->color2.g - - ep2desc1->color2.b)); + lr2 = ep2desc1->common.color.r + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.r - + ep2desc1->common.color.r)); + lg2 = ep2desc1->common.color.g + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.g - + ep2desc1->common.color.b)); + lb2 = ep2desc1->common.color.b + + TO_INT(SCALE(ep2pos, ep2desc2->common.color.g - + ep2desc1->common.color.b)); + lar2 = ep2desc1->common.color2.r + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.r - + ep2desc1->common.color2.r)); + lag2 = ep2desc1->common.color2.g + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.g - + ep2desc1->common.color2.b)); + lab2 = ep2desc1->common.color2.b + + TO_INT(SCALE(ep2pos, ep2desc2->common.color2.g - + ep2desc1->common.color2.b)); } else { lz2 = ep2desc1->common.persp.zplane; - lr2 = ep2desc1->color.r; - lg2 = ep2desc1->color.g; - lb2 = ep2desc1->color.b; - lar2 = ep2desc1->color2.r; - lag2 = ep2desc1->color2.g; - lab2 = ep2desc1->color2.b; + lr2 = ep2desc1->common.color.r; + lg2 = ep2desc1->common.color.g; + lb2 = ep2desc1->common.color.b; + lar2 = ep2desc1->common.color2.r; + lag2 = ep2desc1->common.color2.g; + lab2 = ep2desc1->common.color2.b; } } } diff --git a/src/lib/edje_data.c b/src/lib/edje_data.c index 7a0a341..faf8abd 100644 --- a/src/lib/edje_data.c +++ b/src/lib/edje_data.c @@ -297,19 +297,19 @@ _edje_edd_init(void) EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fill.angle", image.fill.angle, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fill.spread", image.fill.spread, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "fill.type", image.fill.type, EET_T_CHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color_class", color_class, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.r", color.r, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.g", color.g, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.b", color.b, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.a", color.a, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.r", color2.r, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.g", color2.g, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.b", color2.b, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.a", color2.a, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.r", color3.r, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.g", color3.g, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.b", color3.b, EET_T_UCHAR); - EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.a", color3.a, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color_class", common.color_class, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.r", common.color.r, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.g", common.color.g, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.b", common.color.b, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color.a", common.color.a, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.r", common.color2.r, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.g", common.color2.g, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.b", common.color2.b, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color2.a", common.color2.a, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.r", text.color3.r, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.g", text.color3.g, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.b", text.color3.b, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "color3.a", text.color3.a, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "text.text", text.text, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "text.text_class", text.text_class, EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description, Edje_Part_Description, "text.style", text.style, EET_T_STRING); diff --git a/src/lib/edje_edit.c b/src/lib/edje_edit.c index 9e763f1..ab8782d 100644 --- a/src/lib/edje_edit.c +++ b/src/lib/edje_edit.c @@ -2655,19 +2655,19 @@ edje_edit_state_add(Evas_Object *obj, const char *part, const char *name, double pd->image.fill.angle = 0; pd->image.fill.spread = 0; pd->image.fill.type = EDJE_FILL_TYPE_SCALE; - pd->color_class = NULL; - pd->color.r = 255; - pd->color.g = 255; - pd->color.b = 255; - pd->color.a = 255; - pd->color2.r = 0; - pd->color2.g = 0; - pd->color2.b = 0; - pd->color2.a = 255; - pd->color3.r = 0; - pd->color3.g = 0; - pd->color3.b = 0; - pd->color3.a = 128; + pd->common.color_class = NULL; + pd->common.color.r = 255; + pd->common.color.g = 255; + pd->common.color.b = 255; + pd->common.color.a = 255; + pd->common.color2.r = 0; + pd->common.color2.g = 0; + pd->common.color2.b = 0; + pd->common.color2.a = 255; + pd->text.color3.r = 0; + pd->text.color3.g = 0; + pd->text.color3.b = 0; + pd->text.color3.a = 128; pd->text.align.x = 0.5; pd->text.align.y = 0.5; pd->text.id_source = -1; @@ -2801,7 +2801,7 @@ edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, doubl PD_COPY(image.fill.spread); PD_COPY(image.fill.smooth); PD_COPY(image.fill.type); - PD_STRING_COPY(color_class); + PD_STRING_COPY(common.color_class); PD_STRING_COPY(text.text); PD_STRING_COPY(text.text_class); PD_STRING_COPY(text.style); @@ -2832,18 +2832,18 @@ edje_edit_state_copy(Evas_Object *obj, const char *part, const char *from, doubl PD_COPY(table.align.y); PD_COPY(table.padding.x); PD_COPY(table.padding.y); - PD_COPY(color.r); - PD_COPY(color.g); - PD_COPY(color.b); - PD_COPY(color.a); - PD_COPY(color2.r); - PD_COPY(color2.g); - PD_COPY(color2.b); - PD_COPY(color2.a); - PD_COPY(color3.r); - PD_COPY(color3.g); - PD_COPY(color3.b); - PD_COPY(color3.a); + PD_COPY(common.color.r); + PD_COPY(common.color.g); + PD_COPY(common.color.b); + PD_COPY(common.color.a); + PD_COPY(common.color2.r); + PD_COPY(common.color2.g); + PD_COPY(common.color2.b); + PD_COPY(common.color2.a); + PD_COPY(text.color3.r); + PD_COPY(text.color3.g); + PD_COPY(text.color3.b); + PD_COPY(text.color3.a); /* XXX: optimize this, most likely we don't need to remove and add */ EINA_LIST_FREE(pdto->external_params, p) { @@ -2964,33 +2964,33 @@ FUNC_STATE_REL(rel2, x); FUNC_STATE_REL(rel2, y); //colors -#define FUNC_COLOR(Code) \ +#define FUNC_COLOR(Class, Code) \ EAPI void \ edje_edit_state_color##Code##_get(Evas_Object *obj, const char *part, const char *state, double value, int *r, int *g, int *b, int *a) \ { \ GET_PD_OR_RETURN(); \ \ - if (r) *r = pd->color##Code.r; \ - if (g) *g = pd->color##Code.g; \ - if (b) *b = pd->color##Code.b; \ - if (a) *a = pd->color##Code.a; \ + if (r) *r = pd->Class.color##Code.r; \ + if (g) *g = pd->Class.color##Code.g; \ + if (b) *b = pd->Class.color##Code.b; \ + if (a) *a = pd->Class.color##Code.a; \ } \ EAPI void \ edje_edit_state_color##Code##_set(Evas_Object *obj, const char *part, const char *state, double value, int r, int g, int b, int a) \ { \ GET_PD_OR_RETURN(); \ \ - if (r > -1 && r < 256) pd->color##Code.r = r; \ - if (g > -1 && g < 256) pd->color##Code.g = g; \ - if (b > -1 && b < 256) pd->color##Code.b = b; \ - if (a > -1 && a < 256) pd->color##Code.a = a; \ + if (r > -1 && r < 256) pd->Class.color##Code.r = r; \ + if (g > -1 && g < 256) pd->Class.color##Code.g = g; \ + if (b > -1 && b < 256) pd->Class.color##Code.b = b; \ + if (a > -1 && a < 256) pd->Class.color##Code.a = a; \ \ edje_object_calc_force(obj); \ } -FUNC_COLOR(); -FUNC_COLOR(2); -FUNC_COLOR(3); +FUNC_COLOR(common, ); +FUNC_COLOR(common, 2); +FUNC_COLOR(text, 3); #define FUNC_STATE_DOUBLE(Class, Value) \ EAPI double \ @@ -3112,7 +3112,7 @@ edje_edit_state_color_class_get(Evas_Object *obj, const char *part, const char * { GET_PD_OR_RETURN(NULL); //printf("Get ColorClass of part: %s state: %s\n", part, state); - return eina_stringshare_add(pd->color_class); + return eina_stringshare_add(pd->common.color_class); } EAPI void @@ -3120,8 +3120,8 @@ edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char * { GET_PD_OR_RETURN(); //printf("Set ColorClass of part: %s state: %s [to: %s]\n", part, state, color_class); - _edje_if_string_free(ed, pd->color_class); - pd->color_class = (char*)eina_stringshare_add(color_class); + _edje_if_string_free(ed, pd->common.color_class); + pd->common.color_class = (char*)eina_stringshare_add(color_class); } EAPI const Eina_List * @@ -5114,21 +5114,21 @@ _edje_generate_source_of_state(Evas_Object *obj, const char *part, const char *s if (pd->common.aspect.prefer) BUF_APPENDF(I5"aspect_preference: %s;\n", prefers[pd->common.aspect.prefer]); - if (pd->color_class) - BUF_APPENDF(I5"color_class: \"%s\";\n", pd->color_class); - - if (pd->color.r != 255 || pd->color.g != 255 || - pd->color.b != 255 || pd->color.a != 255) - BUF_APPENDF(I5"color: %d %d %d %d;\n", - pd->color.r, pd->color.g, pd->color.b, pd->color.a); - if (pd->color2.r != 0 || pd->color2.g != 0 || - pd->color2.b != 0 || pd->color2.a != 255) - BUF_APPENDF(I5"color2: %d %d %d %d;\n", - pd->color2.r, pd->color2.g, pd->color2.b, pd->color2.a); - if (pd->color3.r != 0 || pd->color3.g != 0 || - pd->color3.b != 0 || pd->color3.a != 128) - BUF_APPENDF(I5"color3: %d %d %d %d;\n", - pd->color3.r, pd->color3.g, pd->color3.b, pd->color3.a); + if (pd->common.color_class) + BUF_APPENDF(I5"color_class: \"%s\";\n", pd->common.color_class); + + if (pd->common.color.r != 255 || pd->common.color.g != 255 || + pd->common.color.b != 255 || pd->common.color.a != 255) + BUF_APPENDF(I5"color: %d %d %d %d;\n", + pd->common.color.r, pd->common.color.g, pd->common.color.b, pd->common.color.a); + if (pd->common.color2.r != 0 || pd->common.color2.g != 0 || + pd->common.color2.b != 0 || pd->common.color2.a != 255) + BUF_APPENDF(I5"color2: %d %d %d %d;\n", + pd->common.color2.r, pd->common.color2.g, pd->common.color2.b, pd->common.color2.a); + if (pd->text.color3.r != 0 || pd->text.color3.g != 0 || + pd->text.color3.b != 0 || pd->text.color3.a != 128) + BUF_APPENDF(I5"color3: %d %d %d %d;\n", + pd->text.color3.r, pd->text.color3.g, pd->text.color3.b, pd->text.color3.a); //Rel1 if (pd->common.rel1.relative_x || pd->common.rel1.relative_y || pd->common.rel1.offset_x || diff --git a/src/lib/edje_embryo.c b/src/lib/edje_embryo.c index d0cebef..b691551 100644 --- a/src/lib/edje_embryo.c +++ b/src/lib/edje_embryo.c @@ -1620,7 +1620,7 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params) } #define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL - d->color_class = DUP(d->color_class); + d->common.color_class = DUP(d->common.color_class); d->text.text = DUP(d->text.text); d->text.text_class = DUP(d->text.text_class); d->text.font = DUP(d->text.font); @@ -1700,35 +1700,35 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params) case EDJE_STATE_PARAM_COLOR: CHKPARAM(6); - GETINT(rp->custom->description->color.r, params[3]); - GETINT(rp->custom->description->color.g, params[4]); - GETINT(rp->custom->description->color.b, params[5]); - GETINT(rp->custom->description->color.a, params[6]); + GETINT(rp->custom->description->common.color.r, params[3]); + GETINT(rp->custom->description->common.color.g, params[4]); + GETINT(rp->custom->description->common.color.b, params[5]); + GETINT(rp->custom->description->common.color.a, params[6]); break; case EDJE_STATE_PARAM_COLOR2: CHKPARAM(6); - GETINT(rp->custom->description->color2.r, params[3]); - GETINT(rp->custom->description->color2.g, params[4]); - GETINT(rp->custom->description->color2.b, params[5]); - GETINT(rp->custom->description->color2.a, params[6]); + GETINT(rp->custom->description->common.color2.r, params[3]); + GETINT(rp->custom->description->common.color2.g, params[4]); + GETINT(rp->custom->description->common.color2.b, params[5]); + GETINT(rp->custom->description->common.color2.a, params[6]); break; case EDJE_STATE_PARAM_COLOR3: CHKPARAM(6); - GETINT(rp->custom->description->color3.r, params[3]); - GETINT(rp->custom->description->color3.g, params[4]); - GETINT(rp->custom->description->color3.b, params[5]); - GETINT(rp->custom->description->color3.a, params[6]); + GETINT(rp->custom->description->text.color3.r, params[3]); + GETINT(rp->custom->description->text.color3.g, params[4]); + GETINT(rp->custom->description->text.color3.b, params[5]); + GETINT(rp->custom->description->text.color3.a, params[6]); break; case EDJE_STATE_PARAM_COLOR_CLASS: CHKPARAM(3); GETSTR(s, params[3]); - GETSTREVAS(s, rp->custom->description->color_class); + GETSTREVAS(s, rp->custom->description->common.color_class); break; case EDJE_STATE_PARAM_REL1: @@ -2057,34 +2057,34 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params) case EDJE_STATE_PARAM_COLOR: CHKPARAM(6); - SETINT(rp->custom->description->color.r, params[3]); - SETINT(rp->custom->description->color.g, params[4]); - SETINT(rp->custom->description->color.b, params[5]); - SETINT(rp->custom->description->color.a, params[6]); + SETINT(rp->custom->description->common.color.r, params[3]); + SETINT(rp->custom->description->common.color.g, params[4]); + SETINT(rp->custom->description->common.color.b, params[5]); + SETINT(rp->custom->description->common.color.a, params[6]); break; case EDJE_STATE_PARAM_COLOR2: CHKPARAM(6); - SETINT(rp->custom->description->color2.r, params[3]); - SETINT(rp->custom->description->color2.g, params[4]); - SETINT(rp->custom->description->color2.b, params[5]); - SETINT(rp->custom->description->color2.a, params[6]); + SETINT(rp->custom->description->common.color2.r, params[3]); + SETINT(rp->custom->description->common.color2.g, params[4]); + SETINT(rp->custom->description->common.color2.b, params[5]); + SETINT(rp->custom->description->common.color2.a, params[6]); break; case EDJE_STATE_PARAM_COLOR3: CHKPARAM(6); - SETINT(rp->custom->description->color3.r, params[3]); - SETINT(rp->custom->description->color3.g, params[4]); - SETINT(rp->custom->description->color3.b, params[5]); - SETINT(rp->custom->description->color3.a, params[6]); + SETINT(rp->custom->description->text.color3.r, params[3]); + SETINT(rp->custom->description->text.color3.g, params[4]); + SETINT(rp->custom->description->text.color3.b, params[5]); + SETINT(rp->custom->description->text.color3.a, params[6]); break; case EDJE_STATE_PARAM_COLOR_CLASS: CHKPARAM(4); - s = rp->custom->description->color_class; + s = rp->custom->description->common.color_class; SETSTRALLOCATE(s); break; diff --git a/src/lib/edje_load.c b/src/lib/edje_load.c index 060734b..beb8145 100644 --- a/src/lib/edje_load.c +++ b/src/lib/edje_load.c @@ -362,12 +362,12 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g if (errors) break; /* Register any color classes in this parts descriptions. */ - if ((ep->default_desc) && (ep->default_desc->color_class)) - _edje_color_class_member_add(ed, ep->default_desc->color_class); + if ((ep->default_desc) && (ep->default_desc->common.color_class)) + _edje_color_class_member_add(ed, ep->default_desc->common.color_class); EINA_LIST_FOREACH(ep->other_desc, hist, desc) - if (desc->color_class) - _edje_color_class_member_add(ed, desc->color_class); + if (desc->common.color_class) + _edje_color_class_member_add(ed, desc->common.color_class); } /* build real parts */ for (n = 0, l = ed->collection->parts; l; l = eina_list_next(l), n++) @@ -1156,11 +1156,11 @@ _edje_collection_free_part_description_free(Edje_Part_Description *desc, Eina_Bo _edje_external_params_free(desc->external_params, free_strings); if (free_strings) { - if (desc->color_class) eina_stringshare_del(desc->color_class); - if (desc->text.text) eina_stringshare_del(desc->text.text); - if (desc->text.text_class) eina_stringshare_del(desc->text.text_class); - if (desc->text.style) eina_stringshare_del(desc->text.style); - if (desc->text.font) eina_stringshare_del(desc->text.font); + if (desc->common.color_class) eina_stringshare_del(desc->common.color_class); + if (desc->text.text) eina_stringshare_del(desc->text.text); + if (desc->text.text_class) eina_stringshare_del(desc->text.text_class); + if (desc->text.style) eina_stringshare_del(desc->text.style); + if (desc->text.font) eina_stringshare_del(desc->text.font); } free(desc); } diff --git a/src/lib/edje_private.h b/src/lib/edje_private.h index 0d07f40..93e3691 100644 --- a/src/lib/edje_private.h +++ b/src/lib/edje_private.h @@ -648,6 +648,10 @@ struct _Edje_Part_Description_Common Edje_Position step; /* size stepping by n pixels, 0 = none */ Edje_Aspect_Prefer aspect; + char *color_class; /* how to modify the color */ + Edje_Color color; + Edje_Color color2; + struct { FLOAT_T relative_x; FLOAT_T relative_y; @@ -717,6 +721,7 @@ struct _Edje_Part_Description_Spec_Text char *repch; /* replacement char for password mode entry */ Edje_Alignment align; /* text alignment within bounds */ + Edje_Color color3; double elipsis; /* 0.0 - 1.0 defining where the elipsis align */ int size; /* 0 = use user set size */ @@ -760,9 +765,6 @@ struct _Edje_Part_Description Edje_Part_Description_Spec_Box box; Edje_Part_Description_Spec_Table table; - char *color_class; /* how to modify the color */ - - Edje_Color color, color2, color3; /* color for rect or text, shadow etc. */ Eina_List *external_params; /* parameters for external objects */ }; diff --git a/src/lib/edje_util.c b/src/lib/edje_util.c index 27edf02..90cde22 100644 --- a/src/lib/edje_util.c +++ b/src/lib/edje_util.c @@ -4457,12 +4457,12 @@ _edje_color_class_on_del(Edje *ed, Edje_Part *ep) Eina_List *tmp; Edje_Part_Description *desc; - if ((ep->default_desc) && (ep->default_desc->color_class)) - _edje_color_class_member_del(ed, ep->default_desc->color_class); + if ((ep->default_desc) && (ep->default_desc->common.color_class)) + _edje_color_class_member_del(ed, ep->default_desc->common.color_class); EINA_LIST_FOREACH(ep->other_desc, tmp, desc) - if (desc->color_class) - _edje_color_class_member_del(ed, desc->color_class); + if (desc->common.color_class) + _edje_color_class_member_del(ed, desc->common.color_class); } Edje_Text_Class * -- 2.7.4