evas_textblock_escape_string_get(const char *escape)
{
/* & -> & */
+ if (!escape) return NULL;
return _escaped_char_get(escape, escape + strlen(escape));
}
EAPI const char *
evas_textblock_escape_string_range_get(const char *escape_start, const char *escape_end)
{
+ if ((!escape_start) || (!escape_end)) return NULL;
return _escaped_char_get(escape_start, escape_end);
}
EAPI const char *
evas_textblock_string_escape_get(const char *string, int *len_ret)
{
+ if ((!string) || (!len_ret)) return NULL;
/* & -> & */
return _escaped_char_match(string, len_ret);
}
EAPI void
evas_object_textblock_text_markup_prepend(Evas_Textblock_Cursor *cur, const char *text)
{
+ if (!cur) return;
Evas_Object *obj = cur->obj;
TB_HEAD();
if (text)
EAPI const Evas_Object_Textblock_Node_Format *
evas_textblock_node_format_next_get(const Evas_Object_Textblock_Node_Format *n)
{
+ if (!n) return NULL;
return _NODE_FORMAT(EINA_INLIST_GET(n)->next);
}
EAPI const Evas_Object_Textblock_Node_Format *
evas_textblock_node_format_prev_get(const Evas_Object_Textblock_Node_Format *n)
{
+ if (!n) return NULL;
return _NODE_FORMAT(EINA_INLIST_GET(n)->prev);
}
int len;
/*append is essentially prepend without advancing */
len = evas_textblock_cursor_text_append(cur, _text);
+ if (len == 0) return 0;
cur->pos += len; /*Advance */
return len;
}
EAPI Eina_List *
evas_textblock_cursor_range_formats_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
{
- Evas_Object *obj = cur1->obj;
+ Evas_Object *obj;
Eina_List *ret = NULL;
Evas_Object_Textblock_Node_Text *n1, *n2;
Evas_Object_Textblock_Node_Format *first, *last;
if (!cur1 || !cur1->node) return NULL;
if (!cur2 || !cur2->node) return NULL;
if (cur1->obj != cur2->obj) return NULL;
+
+ obj = cur1->obj;
+
if (evas_textblock_cursor_compare(cur1, cur2) > 0)
{
const Evas_Textblock_Cursor *tc;
const Evas_Textblock_Cursor *dir_cur;
Evas_Textblock_Cursor cur2;
Evas_Object_Textblock *o;
+ if (!cur) return -1;
o = (Evas_Object_Textblock *)(cur->obj->object_data);
if (!o->formatted.valid) _relayout(cur->obj);
EAPI int
evas_textblock_cursor_char_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
{
+ if (!cur) -1;
return _evas_textblock_cursor_char_pen_geometry_common_get(
cur->ENFN->font_char_coords_get, cur, cx, cy, cw, ch);
}
EAPI int
evas_textblock_cursor_pen_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
{
+ if (!cur) -1;
return _evas_textblock_cursor_char_pen_geometry_common_get(
cur->ENFN->font_pen_coords_get, cur, cx, cy, cw, ch);
}