static void gutter_renderer_query_data (GtkSourceGutterRenderer *renderer, GtkTextIter *start, GtkTextIter *end, GtkSourceGutterRendererState state) { GSList *marks; GdkPixbuf *pixbuf = NULL; gint size = 0; GtkSourceView *view; GtkSourceBuffer *buffer; view = GTK_SOURCE_VIEW (gtk_source_gutter_renderer_get_view (renderer)); buffer = GTK_SOURCE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (view))); marks = gtk_source_buffer_get_source_marks_at_iter (buffer, start, NULL); if (marks != NULL) { size = measure_line_height (view); pixbuf = composite_marks (view, marks, size); g_slist_free (marks); } g_object_set (G_OBJECT (renderer), "pixbuf", pixbuf, "xpad", 2, "yalign", 0.5, "xalign", 0.5, "alignment-mode", GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST, NULL); }
static void gutter_renderer_change_view (GtkSourceGutterRenderer *renderer, GtkTextView *old_view) { GtkSourceView *view; view = GTK_SOURCE_VIEW (gtk_source_gutter_renderer_get_view (renderer)); if (view != NULL) { gtk_source_gutter_renderer_set_size (renderer, measure_line_height (view)); } }
static void gutter_renderer_change_view (GtkSourceGutterRenderer *renderer, GtkTextView *old_view) { GtkSourceView *view; view = GTK_SOURCE_VIEW (gtk_source_gutter_renderer_get_view (renderer)); if (view != NULL) { gtk_source_gutter_renderer_set_size (renderer, measure_line_height (view)); } if (GTK_SOURCE_GUTTER_RENDERER_CLASS (gtk_source_gutter_renderer_marks_parent_class)->change_view != NULL) { GTK_SOURCE_GUTTER_RENDERER_CLASS (gtk_source_gutter_renderer_marks_parent_class)->change_view (renderer, old_view); } }