hermet pushed a commit to branch master.
commit e83accf1ee4aa881313cec53b20956e32c20acb7
Author: ChunEon Park <[email protected]>
Date: Wed May 22 18:04:34 2013 +0900
edje/textblock - keep the styles if the new font by the text class is
applied.
text is already did. for the consistency textblock should be kept the same
way.
---
ChangeLog | 4 ++++
NEWS | 1 +
src/lib/edje/edje_private.h | 13 ++++++++-----
src/lib/edje/edje_text.c | 2 +-
src/lib/edje/edje_textblock_styles.c | 7 ++++++-
5 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ac89338..20a5f11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-05-22 ChunEon Park (Hermet)
+
+ * Edje textblock: keep the text styles when new font by the text class
is applied.
+
2013-05-16 Tom Hacohen
* Edje textblock: Fixed issue with quoted formats.
diff --git a/NEWS b/NEWS
index b2bfcb1..899d3b2 100644
--- a/NEWS
+++ b/NEWS
@@ -271,3 +271,4 @@ Fixes:
* Edje entry: return surrounding string until the start position of
selection
* Ecore-imf: fix crash when ecore_imf_context_del is called in
ecore_imf_context_input_panel_callback_call
* Edje textblock: Fixed issue with quoted formats.
+ * Edje textblock: Keep the text styles when new font by the text class is
applied.
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index af9b055..5cc0075 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -1972,13 +1972,16 @@ void _edje_text_init(void);
void _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
void _edje_text_part_on_del(Edje *ed, Edje_Part *ep);
void _edje_text_recalc_apply(Edje *ed,
- Edje_Real_Part *ep,
- Edje_Calc_Params *params,
- Edje_Part_Description_Text *chosen_desc);
+ Edje_Real_Part *ep,
+ Edje_Calc_Params *params,
+ Edje_Part_Description_Text
*chosen_desc);
Evas_Font_Size _edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc);
const char * _edje_text_class_font_get(Edje *ed,
- Edje_Part_Description_Text
*chosen_desc,
- int *size, char **free_later);
+ Edje_Part_Description_Text
*chosen_desc,
+ int *size, char **free_later);
+const char * _edje_text_font_get(const char *base, const char *new,
+ char **free_later);
+
Edje_Real_Part *_edje_real_part_get(const Edje *ed, const char *part);
diff --git a/src/lib/edje/edje_text.c b/src/lib/edje/edje_text.c
index 4b43ca1..bb1cf9a 100644
--- a/src/lib/edje/edje_text.c
+++ b/src/lib/edje/edje_text.c
@@ -102,7 +102,7 @@ _edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
return text;
}
-static const char *
+const char *
_edje_text_font_get(const char *base, const char *new, char **free_later)
{
const char *base_style, *new_style, *aux;
diff --git a/src/lib/edje/edje_textblock_styles.c
b/src/lib/edje/edje_textblock_styles.c
index 42fd935..a249649 100644
--- a/src/lib/edje/edje_textblock_styles.c
+++ b/src/lib/edje/edje_textblock_styles.c
@@ -238,12 +238,17 @@ _edje_textblock_style_all_update(Edje *ed)
if (tag->font)
{
const char *f;
+ char *sfont = NULL;
eina_strbuf_append(txt, " ");
eina_strbuf_append(txt, "font=");
- f = (tc && tc->font) ? tc->font : tag->font;
+ if (tc) f = _edje_text_font_get(tag->font, tc->font, &sfont);
+ else f = tag->font;
+
eina_strbuf_append_escaped(txt, f);
+
+ if (sfont) free(sfont);
}
eina_strbuf_append(txt, "'");
--
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may