From 370167a95c1e191050a0f30a76d295c59ad81a01 Mon Sep 17 00:00:00 2001 From: Jee-Yong Um Date: Fri, 5 Feb 2016 08:30:31 +0100 Subject: [PATCH] edje_cc: allow omitting "name" keyword in color_classes.color_class block Summary: This allows developer to omit "name" keyword in color_classes.color_class block in EDC. Reviewers: cedric, jpeg Reviewed By: jpeg Differential Revision: https://phab.enlightenment.org/D3598 Signed-off-by: Cedric BAIL Change-Id: Idfb304a31db9028c279a40c7e3bdb6e6e7b2ffd4 --- src/bin/edje/edje_cc_handlers.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index a0245ee..6f76917 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -2641,6 +2641,25 @@ ob_color_class(void) cc->a3 = 0; } +static void +_color_class_name(char *name) +{ + Edje_Color_Class *cc, *tcc; + Eina_List *l; + + cc = eina_list_data_get(eina_list_last(edje_file->color_classes)); + cc->name = name; + EINA_LIST_FOREACH(edje_file->color_classes, l, tcc) + { + if ((cc != tcc) && (!strcmp(cc->name, tcc->name))) + { + ERR("parse error %s:%i. There is already a color class named \"%s\"", + file_in, line - 1, cc->name); + exit(-1); + } + } +} + /** @page edcref @@ -14374,6 +14393,13 @@ edje_cc_handlers_wildcard(void) stack_pop_quick(EINA_FALSE, EINA_FALSE); return EINA_TRUE; } + if (edje_file->color_classes && (!strcmp(last, "color_class"))) + { + if (!had_quote) return EINA_FALSE; + _color_class_name(token); + stack_pop_quick(EINA_FALSE, EINA_FALSE); + return EINA_TRUE; + } return EINA_FALSE; } -- 2.7.4