[gtksourceview/gtksourceview-5-4] gutterlines: add helper to check for any quark set



commit 67d6e60d7382cc3236825749b272e1dd7489bdf9
Author: Christian Hergert <chergert redhat com>
Date:   Wed Apr 6 14:05:45 2022 -0700

    gutterlines: add helper to check for any quark set

 gtksourceview/gtksourcegutterlines.c | 23 +++++++++++++++++++++++
 gtksourceview/gtksourcegutterlines.h |  3 +++
 2 files changed, 26 insertions(+)
---
diff --git a/gtksourceview/gtksourcegutterlines.c b/gtksourceview/gtksourcegutterlines.c
index 327b8b89..364eb41b 100644
--- a/gtksourceview/gtksourcegutterlines.c
+++ b/gtksourceview/gtksourcegutterlines.c
@@ -634,3 +634,26 @@ _gtk_source_gutter_lines_get_cursor_line (GtkSourceGutterLines *lines)
 
        return lines->cursor_line;
 }
+
+/**
+ * gtk_source_gutter_lines_has_any_class:
+ * @lines: a #GtkSourceGutterLines
+ * @line: a line contained within @lines
+ *
+ * Checks to see if the line has any GQuark classes set. This can be
+ * used to help renderer implementations avoid work if nothing has
+ * been set on the class.
+ *
+ * Returns: %TRUE if any quark was set for the line
+ *
+ * Since: 5.6
+ */
+gboolean
+gtk_source_gutter_lines_has_any_class (GtkSourceGutterLines *lines,
+                                       guint                 line)
+{
+       if (lines == NULL || line < lines->first || line > lines->last || line - lines->first >= 
lines->lines->len)
+    return FALSE;
+
+  return g_array_index (lines->lines, LineInfo, line - lines->first).classes.len > 0;
+}
diff --git a/gtksourceview/gtksourcegutterlines.h b/gtksourceview/gtksourcegutterlines.h
index cbf8c50f..3ef43c99 100644
--- a/gtksourceview/gtksourcegutterlines.h
+++ b/gtksourceview/gtksourcegutterlines.h
@@ -86,5 +86,8 @@ void           gtk_source_gutter_lines_get_line_yrange  (GtkSourceGutterLines
                                                          GtkSourceGutterRendererAlignmentMode  mode,
                                                          gint                                 *y,
                                                          gint                                 *height);
+GTK_SOURCE_AVAILABLE_IN_5_6
+gboolean       gtk_source_gutter_lines_has_any_class    (GtkSourceGutterLines                 *lines,
+                                                         guint                                 line);
 
 G_END_DECLS


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]