_layout_item_ascent_descent_adjust(c->obj, &c->ascent, &c->descent,
NULL, fmt);
+#ifdef BIDI_SUPPORT
+ _layout_line_reorder(c->ln);
+#endif
+
/* Adjust all the item sizes according to the final line size,
* and update the x positions of all the items of the line. */
EINA_INLIST_FOREACH(c->ln->items, it)
}
#endif
+/* Don't do much for the meanwhile. */
static inline void
_layout_paragraph_render(Evas_Textblock_Data *o,
Evas_Object_Textblock_Paragraph *par)
return;
par->rendered = EINA_TRUE;
-#ifdef BIDI_SUPPORT
- if (par->is_bidi)
- {
- _layout_update_bidi_props(o, par);
- _layout_paragraph_reorder_lines(par);
- /* Clear the bidi props because we don't need them anymore. */
- if (par->bidi_props)
- {
- evas_bidi_paragraph_props_unref(par->bidi_props);
- par->bidi_props = NULL;
- }
- }
-#else
(void) o;
-#endif
}
/* calculates items width in current paragraph */
c->y = c->par->y;
+
+#ifdef BIDI_SUPPORT
+ if (c->par->is_bidi)
+ {
+ _layout_update_bidi_props(c->o, c->par);
+ }
+#endif
+
it = _ITEM(eina_list_data_get(c->par->logical_items));
_layout_line_new(c, it->format);
/* We walk on our own because we want to be able to add items from
if (line_breaks)
free(line_breaks);
+#ifdef BIDI_SUPPORT
+ if (c->par->bidi_props)
+ {
+ evas_bidi_paragraph_props_unref(c->par->bidi_props);
+ c->par->bidi_props = NULL;
+ }
+#endif
+
return ret;
}
(nw != oldnw + 8) || (nh != oldnh));
}
+ evas_object_resize(tb, 1000, 1000);
+ evas_object_textblock_text_markup_set(tb, "\u200fHello שלום");
+ evas_object_textblock_size_formatted_get(tb, &w, NULL);
+ evas_object_textblock_size_native_get(tb, &nw, NULL);
+ ck_assert_int_eq(nw, w);
+
/* FIXME: There is a lot more to be done. */
END_TB_TEST();
}