summaryrefslogtreecommitdiff
path: root/gtksourceview/gtksourcegutter.h
diff options
context:
space:
mode:
authorChristian Hergert <chergert@redhat.com>2020-01-15 14:53:52 -0800
committerChristian Hergert <chergert@redhat.com>2020-09-21 15:32:48 -0700
commit41e428762570d65dbe27529b232b8ad7f8ff3c90 (patch)
tree0a4157a2efbc624de6762a7eba8104d2c373666a /gtksourceview/gtksourcegutter.h
parent0207f78ddab3fd9d870dff8011d6557bf65530d9 (diff)
downloadgtksourceview-41e428762570d65dbe27529b232b8ad7f8ff3c90.tar.gz
gutter: port to GTK 4
- Use widgets instead of GInitiallyUnowned. This allows for much more advanced usage of event controllers, snapshoting, and potentially caching of render nodes. - GtkSourceGutter is now a container of GtkSourceGutterRenderer - Remove use of GdkEvent as much as possible and instead follow patterns for events more closely to upstream GTK 4. In particular the query and activate signals provide button/state/n_presses which are typically what would be needed by renderers anyway. - Tooltips can now be handled by renderers directly using the GtkWidget infrastructure for that. - Use GtkSourceGutterLines to reduce the number of passes we do through the textbuffer btree. This helps achieve a few more frames per second in the rendering pipeline during heavy kinetic scrolling. Especially on HiDPI systems. - Use GdkPaintable instead of GdkPixbuf for rendering pixbufs. - Add alignment helper for renderers to center on a particular position. This caches the positioning so that it can be reused by additional cell renderers without the extra floating point math or view area location. - Renderer state is no longer necessary as that information can be retrieved from the GtkSourceGutterLines using the helper functions. State is simply a quark in the quarkset like any other status.
Diffstat (limited to 'gtksourceview/gtksourcegutter.h')
-rw-r--r--gtksourceview/gtksourcegutter.h27
1 files changed, 8 insertions, 19 deletions
diff --git a/gtksourceview/gtksourcegutter.h b/gtksourceview/gtksourcegutter.h
index 3fdf5b44..d25a1769 100644
--- a/gtksourceview/gtksourcegutter.h
+++ b/gtksourceview/gtksourcegutter.h
@@ -33,28 +33,17 @@ G_BEGIN_DECLS
#define GTK_SOURCE_TYPE_GUTTER (gtk_source_gutter_get_type())
GTK_SOURCE_AVAILABLE_IN_ALL
-G_DECLARE_FINAL_TYPE (GtkSourceGutter, gtk_source_gutter, GTK_SOURCE, GUTTER, GObject)
+G_DECLARE_FINAL_TYPE (GtkSourceGutter, gtk_source_gutter, GTK_SOURCE, GUTTER, GtkContainer)
GTK_SOURCE_AVAILABLE_IN_3_24
-GtkSourceView *gtk_source_gutter_get_view (GtkSourceGutter *gutter);
-GTK_SOURCE_AVAILABLE_IN_3_24
-GtkTextWindowType gtk_source_gutter_get_window_type (GtkSourceGutter *gutter);
-GTK_SOURCE_AVAILABLE_IN_ALL
-gboolean gtk_source_gutter_insert (GtkSourceGutter *gutter,
- GtkSourceGutterRenderer *renderer,
- gint position);
-GTK_SOURCE_AVAILABLE_IN_ALL
-void gtk_source_gutter_reorder (GtkSourceGutter *gutter,
- GtkSourceGutterRenderer *renderer,
- gint position);
-GTK_SOURCE_AVAILABLE_IN_ALL
-void gtk_source_gutter_remove (GtkSourceGutter *gutter,
- GtkSourceGutterRenderer *renderer);
+GtkSourceView *gtk_source_gutter_get_view (GtkSourceGutter *gutter);
GTK_SOURCE_AVAILABLE_IN_ALL
-void gtk_source_gutter_queue_draw (GtkSourceGutter *gutter);
+gboolean gtk_source_gutter_insert (GtkSourceGutter *gutter,
+ GtkSourceGutterRenderer *renderer,
+ gint position);
GTK_SOURCE_AVAILABLE_IN_ALL
-GtkSourceGutterRenderer *gtk_source_gutter_get_renderer_at_pos (GtkSourceGutter *gutter,
- gint x,
- gint y);
+void gtk_source_gutter_reorder (GtkSourceGutter *gutter,
+ GtkSourceGutterRenderer *renderer,
+ gint position);
G_END_DECLS