efl ui text - handle edje cc classes for text

This commit is contained in:
Carsten Haitzler 2021-11-11 19:56:41 +00:00
parent 50dc94b478
commit dcf34cef77
1 changed files with 32 additions and 2 deletions

View File

@ -1616,7 +1616,22 @@ _update_text_theme(Eo *obj, Efl_Ui_Textbox_Data *sd)
colorcode = efl_layout_group_data_get(wd->resize_obj, "style.color_disabled");
if (!colorcode)
colorcode = efl_layout_group_data_get(wd->resize_obj, "style.color");
if (colorcode && _format_color_parse(colorcode, strlen(colorcode), &r, &g, &b, &a))
if (colorcode && !strncmp(colorcode, "cc:", 3))
{
int r, g, b, a;
if (edje_object_color_class_get(wd->resize_obj, colorcode + 3,
&r, &g, &b, &a,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL))
{
r = (r * a) / 255;
g = (g * a) / 255;
b = (b * a) / 255;
efl_text_color_set(sd->text_obj, r, g, b, a);
}
}
else if (colorcode && _format_color_parse(colorcode, strlen(colorcode), &r, &g, &b, &a))
{
efl_text_color_set(sd->text_obj, r, g, b, a);
}
@ -1641,7 +1656,22 @@ _update_text_theme(Eo *obj, Efl_Ui_Textbox_Data *sd)
colorcode = efl_layout_group_data_get(wd->resize_obj, "guide.style.color_disabled");
if (!colorcode)
colorcode = efl_layout_group_data_get(wd->resize_obj, "guide.style.color");
if (colorcode && _format_color_parse(colorcode, strlen(colorcode), &r, &g, &b, &a))
if (colorcode && !strncmp(colorcode, "cc:", 3))
{
int r, g, b, a;
if (edje_object_color_class_get(wd->resize_obj, colorcode + 3,
&r, &g, &b, &a,
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL))
{
r = (r * a) / 255;
g = (g * a) / 255;
b = (b * a) / 255;
efl_text_color_set(sd->text_guide_obj, r, g, b, a);
}
}
else if(colorcode && _format_color_parse(colorcode, strlen(colorcode), &r, &g, &b, &a))
{
efl_text_color_set(sd->text_guide_obj, r, g, b, a);
}