[gtk/wip/chergert/textview-caching: 3/4] textiter: add _gtk_text_iter_same_line()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/textview-caching: 3/4] textiter: add _gtk_text_iter_same_line()
- Date: Sat, 27 Jul 2019 08:05:04 +0000 (UTC)
commit dcb81155dba9ce276a91574534512d1edc7cef86
Author: Christian Hergert <chergert redhat com>
Date: Fri Jul 26 18:04:34 2019 -0700
textiter: add _gtk_text_iter_same_line()
This is a faster form to compare two text iter to see if they are on the
same line.
gtk/gtktextiter.c | 19 +++++++++++++++++++
gtk/gtktextiterprivate.h | 2 ++
2 files changed, 21 insertions(+)
---
diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c
index be31d084d0..357b31a8a7 100644
--- a/gtk/gtktextiter.c
+++ b/gtk/gtktextiter.c
@@ -5358,6 +5358,25 @@ gtk_text_iter_equal (const GtkTextIter *lhs,
}
}
+gboolean
+_gtk_text_iter_same_line (const GtkTextIter *lhs,
+ const GtkTextIter *rhs)
+{
+ GtkTextRealIter *real_lhs;
+ GtkTextRealIter *real_rhs;
+
+ real_lhs = gtk_text_iter_make_surreal (lhs);
+ real_rhs = gtk_text_iter_make_surreal (rhs);
+
+ if (real_lhs == NULL || real_rhs == NULL)
+ return FALSE;
+
+ check_invariants (lhs);
+ check_invariants (rhs);
+
+ return real_lhs->line == real_rhs->line;
+}
+
/**
* gtk_text_iter_compare:
* @lhs: a #GtkTextIter
diff --git a/gtk/gtktextiterprivate.h b/gtk/gtktextiterprivate.h
index 4fdf772c86..8db3f56b93 100644
--- a/gtk/gtktextiterprivate.h
+++ b/gtk/gtktextiterprivate.h
@@ -41,6 +41,8 @@ gboolean _gtk_text_iter_forward_indexable_segment (GtkTextIter
gboolean _gtk_text_iter_backward_indexable_segment (GtkTextIter *iter);
gint _gtk_text_iter_get_segment_byte (const GtkTextIter *iter);
gint _gtk_text_iter_get_segment_char (const GtkTextIter *iter);
+gboolean _gtk_text_iter_same_line (const GtkTextIter *lhs,
+ const GtkTextIter *rhs);
gboolean gtk_text_iter_get_attributes (const GtkTextIter *iter,
GtkTextAttributes *values);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]