[gtksourceview/wip/gutter-draw-refactoring: 1/3] gutter: split on_view_draw: get_clip_rectangle()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/gutter-draw-refactoring: 1/3] gutter: split on_view_draw: get_clip_rectangle()
- Date: Sun, 23 Nov 2014 11:57:30 +0000 (UTC)
commit fdf15ed1492032af301bb9456168c0a50efb2c4d
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sun Nov 23 12:32:21 2014 +0100
gutter: split on_view_draw: get_clip_rectangle()
on_view_draw() is a quite big and complex function.
gtksourceview/gtksourcegutter.c | 33 +++++++++++++++++++++------------
1 files changed, 21 insertions(+), 12 deletions(-)
---
diff --git a/gtksourceview/gtksourcegutter.c b/gtksourceview/gtksourcegutter.c
index c54ff50..1c19f1f 100644
--- a/gtksourceview/gtksourcegutter.c
+++ b/gtksourceview/gtksourcegutter.c
@@ -898,15 +898,33 @@ get_lines (GtkTextView *text_view,
return total_height;
}
+/* Returns %TRUE if @clip is set. @clip contains the area that should be drawn. */
+static gboolean
+get_clip_rectangle (GtkSourceGutter *gutter,
+ GtkSourceView *view,
+ cairo_t *cr,
+ GdkRectangle *clip)
+{
+ GdkWindow *window = get_window (gutter);
+
+ if (window == NULL || !gtk_cairo_should_draw_window (cr, window))
+ {
+ return FALSE;
+ }
+
+ gtk_cairo_transform_to_window (cr, GTK_WIDGET (view), window);
+
+ return gdk_cairo_get_clip_rectangle (cr, clip);
+}
+
static gboolean
on_view_draw (GtkSourceView *view,
cairo_t *cr,
GtkSourceGutter *gutter)
{
- GdkWindow *window;
+ GdkRectangle clip;
GtkTextView *text_view;
GArray *sizes;
- GdkRectangle clip;
gint y1, y2;
GArray *numbers;
GArray *pixels;
@@ -929,16 +947,7 @@ on_view_draw (GtkSourceView *view,
const gchar *class;
GdkRGBA fg_color;
- window = get_window (gutter);
-
- if (window == NULL || !gtk_cairo_should_draw_window (cr, window))
- {
- return FALSE;
- }
-
- gtk_cairo_transform_to_window (cr, GTK_WIDGET (view), window);
-
- if (!gdk_cairo_get_clip_rectangle (cr, &clip))
+ if (!get_clip_rectangle (gutter, view, cr, &clip))
{
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]