edje_cc: Allow to set float position for anchors

This commit is contained in:
Jeeyong Um 2017-04-25 18:29:26 +09:00
parent 7a712411ee
commit 56b8d1f908
3 changed files with 9 additions and 1 deletions

View File

@ -166,6 +166,7 @@ struct _Edje_Part_Collection_Parser
typedef enum
{
EDJE_PART_ANCHOR_LINE_RELATIVE = -1,
EDJE_PART_ANCHOR_LINE_NONE,
EDJE_PART_ANCHOR_LINE_TOP,
EDJE_PART_ANCHOR_LINE_BOTTOM,

View File

@ -9568,6 +9568,7 @@ parse_anchor_line(Edje_Part_Anchor *anchor, Edje_Part_Anchor_Line undefined)
"RIGHT", EDJE_PART_ANCHOR_LINE_RIGHT,
"VERTICAL_CENTER", EDJE_PART_ANCHOR_LINE_VERTICAL_CENTER,
"HORIZONTAL_CENTER", EDJE_PART_ANCHOR_LINE_HORIZONTAL_CENTER,
"*", EDJE_PART_ANCHOR_LINE_RELATIVE,
NULL);
else if (strcmp(name, "GROUP") || param_had_quote(0))
anchor->base.line = undefined;
@ -9667,6 +9668,12 @@ anchor_adjust_relative(const Edje_Part_Anchor_Line *lines, FLOAT_T *rel, FLOAT_T
if (!counterpart_is_set)
*relc = FROM_DOUBLE(0.5);
}
else if (line == EDJE_PART_ANCHOR_LINE_RELATIVE)
{
*rel = FROM_DOUBLE(parse_float(1));
if (!counterpart_is_set)
*relc = FROM_DOUBLE(parse_float(1));
}
else
{
ERR("parse error %s:%i. Edje part is anchored to wrong position.",

View File

@ -1263,7 +1263,7 @@ _parse_enum(char *str, va_list va)
}
v = va_arg(va, int);
if (!strcmp(s, str))
if (!strcmp(s, str) || !strcmp(s, "*"))
{
va_end(va2);
va_end(va);