static gboolean get_tag_bounds (GtkTextIter *iter, GtkTextTag *tag, GtkTextIter *start, GtkTextIter *end) { gboolean res = FALSE; g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (tag != NULL, FALSE); g_return_val_if_fail (start != NULL, FALSE); g_return_val_if_fail (end != NULL, FALSE); if (gtk_text_iter_has_tag (iter, tag)) { *start = *iter; *end = *iter; if (!gtk_text_iter_begins_tag (start, tag)) gtk_text_iter_backward_to_tag_toggle (start, tag); if (!gtk_text_iter_ends_tag (end, tag)) gtk_text_iter_forward_to_tag_toggle (end, tag); res = TRUE; } return res; }
static VALUE rg_ends_tag_p(VALUE self, VALUE tag) { return CBOOL2RVAL(gtk_text_iter_ends_tag(_SELF(self), RVAL2TAG(tag))); }