Eina_List *logical_items;
int x, y, w, h;
int line_no;
+ Eina_Bool visible;
};
struct _Evas_Object_Textblock_Line
c->ln = NULL;
c->par->text_node = n;
c->par->line_no = -1;
+ c->par->visible = 1;
}
/**
if (!c->par->logical_items)
return 2;
+ /* We want to show it. */
+ c->par->visible = 1;
+
/* Check if we need to skip this paragraph because it's already layouted
* correctly, and mark handled nodes as dirty. */
c->par->line_no = c->line_no;
/* Break if we should stop here. */
if (_layout_visualize_par(c))
- break;
+ {
+ /* Mark all the rest of the paragraphs as invisible */
+ c->par = (Evas_Object_Textblock_Paragraph *)
+ EINA_INLIST_GET(c->par)->next;
+ while (c->par)
+ {
+ c->par->visible = 0;
+ c->par = (Evas_Object_Textblock_Paragraph *)
+ EINA_INLIST_GET(c->par)->next;
+ }
+ break;
+ }
}
}
/* End of visual layout creation */
#define ITEM_WALK() \
EINA_INLIST_FOREACH(o->paragraphs, par) \
{ \
+ if (!par->visible) continue; \
EINA_INLIST_FOREACH(par->lines, ln) \
{ \
Evas_Object_Textblock_Item *itr; \