[glide] :D
- From: Robert Carr <racarr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glide] :D
- Date: Thu, 29 Apr 2010 08:42:01 +0000 (UTC)
commit 1594ef16f1c02bfa499e7075d8e9b606a3580b8c
Author: Robert Carr <racarr Valentine localdomain>
Date: Thu Apr 29 03:58:59 2010 -0400
:D
src/glide-slide-button.c | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/src/glide-slide-button.c b/src/glide-slide-button.c
index f70ed73..cae818a 100644
--- a/src/glide-slide-button.c
+++ b/src/glide-slide-button.c
@@ -28,17 +28,28 @@ enum {
PROP_SLIDE
};
+static void
+glide_slide_button_slide_painted (ClutterActor *slide,
+ gpointer user_data)
+{
+ GlideSlideButton *button = (GlideSlideButton *)user_data;
+
+ gtk_widget_queue_draw (GTK_WIDGET (button));
+}
static gboolean
glide_slide_button_drawing_area_expose (GtkWidget *drawing_area,
GdkEventExpose *event,
gpointer user_data)
{
+ GlideSlideButton *b = (GlideSlideButton *)user_data;
cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (drawing_area));
+ gfloat width, height;
- cairo_set_source_rgba (cr, 0, 0, 0, 1);
- cairo_rectangle (cr, 0, 0, 80, 60);
- cairo_fill (cr);
+ clutter_actor_get_size (CLUTTER_ACTOR (b->priv->slide), &width, &height);
+ cairo_scale (cr, 80.0/width, 60.0/height);
+
+ glide_actor_print (GLIDE_ACTOR (b->priv->slide), cr);
return FALSE;
}
@@ -152,4 +163,6 @@ glide_slide_button_set_slide (GlideSlideButton *button,
{
button->priv->slide = slide;
g_object_notify (G_OBJECT (button), "slide");
+
+ g_signal_connect (slide, "paint", G_CALLBACK (glide_slide_button_slide_painted), button);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]