[gtk+] textview: Use ::snapshot
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] textview: Use ::snapshot
- Date: Thu, 20 Jul 2017 01:45:43 +0000 (UTC)
commit 01cdcec3eaa9fd91d6dd85f6a4a4988048b6c95d
Author: Timm Bäder <mail baedert org>
Date: Wed May 24 11:10:26 2017 +0200
textview: Use ::snapshot
gtk/gtktextview.c | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index d9cc32d..da85d62 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -426,8 +426,8 @@ static gint gtk_text_view_focus_out_event (GtkWidget *widget,
GdkEventFocus *event);
static gint gtk_text_view_motion_event (GtkWidget *widget,
GdkEventMotion *event);
-static gint gtk_text_view_draw (GtkWidget *widget,
- cairo_t *cr);
+static void gtk_text_view_snapshot (GtkWidget *widget,
+ GtkSnapshot *snapshot);
static gboolean gtk_text_view_focus (GtkWidget *widget,
GtkDirectionType direction);
static void gtk_text_view_select_all (GtkWidget *widget,
@@ -752,7 +752,7 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
widget_class->focus_in_event = gtk_text_view_focus_in_event;
widget_class->focus_out_event = gtk_text_view_focus_out_event;
widget_class->motion_notify_event = gtk_text_view_motion_event;
- widget_class->draw = gtk_text_view_draw;
+ widget_class->snapshot = gtk_text_view_snapshot;
widget_class->focus = gtk_text_view_focus;
widget_class->drag_begin = gtk_text_view_drag_begin;
widget_class->drag_end = gtk_text_view_drag_end;
@@ -5895,24 +5895,28 @@ paint_border_window (GtkTextView *text_view,
gtk_style_context_restore (context);
}
-static gboolean
-gtk_text_view_draw (GtkWidget *widget,
- cairo_t *cr)
+static void
+gtk_text_view_snapshot (GtkWidget *widget,
+ GtkSnapshot *snapshot)
{
GtkTextViewPrivate *priv = ((GtkTextView *)widget)->priv;
GSList *tmp_list;
GdkWindow *window;
GtkStyleContext *context;
+ graphene_rect_t bounds;
+ cairo_t *cr;
+
+ graphene_rect_init (&bounds,
+ 0, 0,
+ gtk_widget_get_allocated_width (widget),
+ gtk_widget_get_allocated_height (widget));
+
+ cr = gtk_snapshot_append_cairo (snapshot, &bounds, "GtkTextView");
context = gtk_widget_get_style_context (widget);
text_window_set_padding (GTK_TEXT_VIEW (widget), context);
- gtk_render_background (context, cr,
- 0, 0,
- gtk_widget_get_allocated_width (widget),
- gtk_widget_get_allocated_height (widget));
-
window = gtk_text_view_get_window (GTK_TEXT_VIEW (widget),
GTK_TEXT_WINDOW_TEXT);
@@ -5945,8 +5949,8 @@ gtk_text_view_draw (GtkWidget *widget,
tmp_list = tmp_list->next;
}
-
- return FALSE;
+
+ cairo_destroy (cr);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]