Edje_Edit: support use_alternate_font_metrics setters and getters
authorVitalii Vorobiov <vi.vorobiov@samsung.com>
Wed, 24 Feb 2016 11:45:49 +0000 (11:45 +0000)
committerVitalii Vorobiov <vi.vorobiov@samsung.com>
Wed, 24 Feb 2016 11:45:49 +0000 (11:45 +0000)
src/lib/edje/Edje_Edit.h
src/lib/edje/edje_edit.c

index e775f56..3490260 100644 (file)
@@ -1792,6 +1792,29 @@ EAPI Eina_Bool edje_edit_part_repeat_events_get(Evas_Object *obj, const char *pa
  */
 EAPI Eina_Bool edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool repeat_events);
 
+/** Get use_alternate_font_metrics variable for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to get use_alternate_font_metrics for text or textblock part is enabled.
+ *
+ * @return @c EINA_TRUE if use_alternate_font_metrics, @c EINA_FALSE otherwise
+ * @since 1.18
+ */
+EAPI Eina_Bool
+edje_edit_part_use_alternate_font_metrics_get(Evas_Object *obj, const char *part);
+
+/** Set use_alternate_font_metrics variable for part.
+ *
+ * @param obj Object being edited.
+ * @param part Part to set use_alternate_font_metrics for text or textblock part is enabled.
+ * @param use EINA_TRUE if use_alternate_font_metrics, @c EINA_FALSE otherwise
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.
+ * @since 1.18
+ */
+EAPI Eina_Bool
+edje_edit_part_use_alternate_font_metrics_set(Evas_Object *obj, const char *part, Eina_Bool use);
+
 /** Get multiline for part.
  *
  * @param obj Object being edited.
index ff4f38e..3e58451 100644 (file)
@@ -3783,6 +3783,32 @@ edje_edit_part_repeat_events_set(Evas_Object *obj, const char *part, Eina_Bool r
 }
 
 EAPI Eina_Bool
+edje_edit_part_use_alternate_font_metrics_get(Evas_Object *obj, const char *part)
+{
+   GET_RP_OR_RETURN(0);
+
+   if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+       (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
+     return EINA_FALSE;
+
+   return rp->part->use_alternate_font_metrics;
+}
+
+EAPI Eina_Bool
+edje_edit_part_use_alternate_font_metrics_set(Evas_Object *obj, const char *part, Eina_Bool use)
+{
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if ((!rp->object) ||
+       ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
+        (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)))
+     return EINA_FALSE;
+
+   rp->part->use_alternate_font_metrics = use;
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
 edje_edit_part_multiline_get(Evas_Object *obj, const char *part)
 {
    GET_RP_OR_RETURN(0);
@@ -12311,12 +12337,10 @@ _edje_generate_source_of_part(Evas_Object *obj, Edje_Part *ep, Eina_Strbuf *buf)
    if (rp->part->access)
      BUF_APPEND(I4 "access: 1;\n");
 
-   //TODO Support use_alternate_font_metrics
-   if ((str = _edje_part_clip_to_get(ed, rp)))
-     {
-        BUF_APPENDF(I4 "clip_to: \"%s\";\n", str);
-        edje_edit_string_free(str);
-     }
+   if ((rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) ||
+       (rp->part->type == EDJE_PART_TYPE_TEXT))
+     if (rp->part->use_alternate_font_metrics)
+       BUF_APPENDF(I4 "use_alternate_font_metrics: 1;\n");
 
    if ((rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) ||
        (rp->part->type == EDJE_PART_TYPE_GROUP))