spinner: Port to draw vfunc

This commit is contained in:
Benjamin Otte
2010-09-03 18:30:30 +02:00
parent 7121ec2880
commit 0a6b7e5759

View File

@@ -73,8 +73,8 @@ struct _GtkSpinnerPrivate
static void gtk_spinner_dispose (GObject *gobject); static void gtk_spinner_dispose (GObject *gobject);
static void gtk_spinner_map (GtkWidget *widget); static void gtk_spinner_map (GtkWidget *widget);
static void gtk_spinner_unmap (GtkWidget *widget); static void gtk_spinner_unmap (GtkWidget *widget);
static gboolean gtk_spinner_expose (GtkWidget *widget, static gboolean gtk_spinner_draw (GtkWidget *widget,
GdkEventExpose *event); cairo_t *cr);
static void gtk_spinner_style_set (GtkWidget *widget, static void gtk_spinner_style_set (GtkWidget *widget,
GtkStyle *prev_style); GtkStyle *prev_style);
static void gtk_spinner_get_property (GObject *object, static void gtk_spinner_get_property (GObject *object,
@@ -110,7 +110,7 @@ gtk_spinner_class_init (GtkSpinnerClass *klass)
widget_class = GTK_WIDGET_CLASS(klass); widget_class = GTK_WIDGET_CLASS(klass);
widget_class->map = gtk_spinner_map; widget_class->map = gtk_spinner_map;
widget_class->unmap = gtk_spinner_unmap; widget_class->unmap = gtk_spinner_unmap;
widget_class->expose_event = gtk_spinner_expose; widget_class->draw = gtk_spinner_draw;
widget_class->style_set = gtk_spinner_style_set; widget_class->style_set = gtk_spinner_style_set;
widget_class->get_accessible = gtk_spinner_get_accessible; widget_class->get_accessible = gtk_spinner_get_accessible;
@@ -247,33 +247,27 @@ gtk_spinner_size_request_init (GtkSizeRequestIface *iface)
static gboolean static gboolean
gtk_spinner_expose (GtkWidget *widget, gtk_spinner_draw (GtkWidget *widget,
GdkEventExpose *event) cairo_t *cr)
{ {
GtkAllocation allocation;
GtkStateType state_type; GtkStateType state_type;
GtkSpinnerPrivate *priv; GtkSpinnerPrivate *priv;
int width, height;
priv = GTK_SPINNER (widget)->priv; priv = GTK_SPINNER (widget)->priv;
gtk_widget_get_allocation (widget, &allocation);
width = allocation.width;
height = allocation.height;
state_type = GTK_STATE_NORMAL; state_type = GTK_STATE_NORMAL;
if (!gtk_widget_is_sensitive (widget)) if (!gtk_widget_is_sensitive (widget))
state_type = GTK_STATE_INSENSITIVE; state_type = GTK_STATE_INSENSITIVE;
gtk_paint_spinner (gtk_widget_get_style (widget), gtk_cairo_paint_spinner (gtk_widget_get_style (widget),
gtk_widget_get_window (widget), cr,
state_type, state_type,
&event->area,
widget, widget,
"spinner", "spinner",
priv->current, priv->current,
event->area.x, event->area.y, 0, 0,
event->area.width, event->area.height); gtk_widget_get_allocated_width (widget),
gtk_widget_get_allocated_height (widget));
return FALSE; return FALSE;
} }