[gtk+] grid: draw css background and borders



commit 144a92ef114489979b7261cfa057901d0cd9ebaf
Author: Paolo Borelli <pborelli gnome org>
Date:   Sat Nov 2 12:21:51 2013 +0100

    grid: draw css background and borders
    
    https://bugzilla.gnome.org/show_bug.cgi?id=711324

 gtk/gtkgrid.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c
index 7e7f7a7..23cbc53 100644
--- a/gtk/gtkgrid.c
+++ b/gtk/gtkgrid.c
@@ -1682,6 +1682,22 @@ gtk_grid_size_allocate (GtkWidget     *widget,
   gtk_grid_request_allocate_children (&request);
 }
 
+static gboolean
+gtk_grid_draw (GtkWidget *widget,
+               cairo_t   *cr)
+{
+  GtkStyleContext *context;
+  GtkAllocation allocation;
+
+  context = gtk_widget_get_style_context (widget);
+  gtk_widget_get_allocation (widget, &allocation);
+
+  gtk_render_background (context, cr, 0, 0, allocation.width, allocation.height);
+  gtk_render_frame (context, cr, 0, 0, allocation.width, allocation.height);
+
+  return GTK_WIDGET_CLASS (gtk_grid_parent_class)->draw (widget, cr);
+}
+
 static void
 gtk_grid_class_init (GtkGridClass *class)
 {
@@ -1699,6 +1715,7 @@ gtk_grid_class_init (GtkGridClass *class)
   widget_class->get_preferred_width_for_height = gtk_grid_get_preferred_width_for_height;
   widget_class->get_preferred_height_for_width = gtk_grid_get_preferred_height_for_width;
   widget_class->get_preferred_height_and_baseline_for_width = 
gtk_grid_get_preferred_height_and_baseline_for_width;
+  widget_class->draw = gtk_grid_draw;
 
   container_class->add = gtk_grid_add;
   container_class->remove = gtk_grid_remove;


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