netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=e66cb85e648f4612633ef66d6ce3ed4ccafa7178

commit e66cb85e648f4612633ef66d6ce3ed4ccafa7178
Author: Alastair Poole <[email protected]>
Date:   Sun Jun 21 15:30:34 2020 +0100

    ui: adding textblock api.
    
    This might need more work.
---
 src/bin/ui/ui.c      | 11 ++++++++++-
 src/bin/ui/ui_util.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 src/bin/ui/ui_util.h |  6 ++++++
 3 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index 4b87fa7..d4cccdb 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -1202,7 +1202,7 @@ static Evas_Object *
 _ui_tabs_add(Evas_Object *parent, Ui *ui)
 {
    Evas_Object *table, *box, *entry, *hbox, *frame, *btn;
-   Evas_Object *border;
+   Evas_Object *border, *tb;
 
    ui->content = table = elm_table_add(parent);
    evas_object_size_hint_weight_set(table, EXPAND, EXPAND);
@@ -1327,6 +1327,15 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
    elm_entry_scrollable_set(entry, EINA_TRUE);
    elm_entry_editable_set(entry, EINA_TRUE);
    evas_object_show(entry);
+
+   tb = elm_entry_textblock_get(entry);
+   if (tb)
+     {
+        int font_size = evisum_ui_textblock_font_size_get(tb);
+        if (font_size)
+          evisum_ui_textblock_font_size_set(tb, font_size + 2);
+     }
+
    elm_object_content_set(border, entry);
    elm_box_pack_end(box, border);
 
diff --git a/src/bin/ui/ui_util.c b/src/bin/ui/ui_util.c
index 34b87f2..27dd524 100644
--- a/src/bin/ui/ui_util.c
+++ b/src/bin/ui/ui_util.c
@@ -106,3 +106,46 @@ evisum_icon_path_get(const char *name)
    return icon_path;
 }
 
+void
+evisum_ui_textblock_font_size_set(Evas_Object *tb, int new_size)
+{
+   Evas_Textblock_Style *ts;
+
+   if (!tb) return;
+
+   ts = evas_textblock_style_new();
+
+   evas_textblock_style_set(ts,
+                 eina_slstr_printf("DEFAULT='font_size=%d'", new_size));
+   evas_object_textblock_style_user_push(tb, ts);
+}
+
+int
+evisum_ui_textblock_font_size_get(Evas_Object *tb)
+{
+   const char *style;
+   char *p, *p1;
+   Evas_Textblock_Style *ts;
+   int size = 0;
+
+   if (!tb) return size;
+
+   ts = evas_object_textblock_style_get(tb);
+   if (!ts) return size;
+
+   style = evas_textblock_style_get(ts);
+   if (!style && !style[0]) return size;
+
+   p = strdup(style);
+
+   p1 = strstr(p, "font_size=");
+   if (p1)
+     {
+        p1 += 10;
+        size = atoi(p1);
+     }
+
+   free(p);
+
+   return size;
+}
diff --git a/src/bin/ui/ui_util.h b/src/bin/ui/ui_util.h
index a0d7fc9..e253f17 100644
--- a/src/bin/ui/ui_util.h
+++ b/src/bin/ui/ui_util.h
@@ -19,4 +19,10 @@ evisum_size_format(unsigned long long bytes);
 const char *
 evisum_icon_path_get(const char *name);
 
+int
+evisum_ui_textblock_font_size_get(Evas_Object *tb);
+void
+evisum_ui_textblock_font_size_set(Evas_Object *tb, int new_size);
+
+
 #endif

-- 


Reply via email to