From 33395ee8bff3e3d4b42bc40823eb9efe88f1611d Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Mon, 28 Jun 2010 17:54:39 +0100 Subject: new playbutton for cairo drawing --- src/play-button.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/play-button.c (limited to 'src/play-button.c') diff --git a/src/play-button.c b/src/play-button.c new file mode 100644 index 0000000..ab441ea --- /dev/null +++ b/src/play-button.c @@ -0,0 +1,100 @@ +/* +Copyright 2010 Canonical Ltd. + +Authors: + Conor Curran + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include "play-button.h" +#include "common-defs.h" +#include + + +typedef struct _PlayButtonPrivate PlayButtonPrivate; + +struct _PlayButtonPrivate +{ + +}; + +#define PLAY_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLAY_BUTTON_TYPE, PlayButtonPrivate)) + +/* Gobject boiler plate */ +static void play_button_class_init (PlayButtonClass *klass); +static void play_button_init (PlayButton *self); +static void play_button_dispose (GObject *object); +static void play_button_finalize (GObject *object); + +static gboolean play_button_expose (GtkWidget *button, GdkEventExpose *event); + +G_DEFINE_TYPE (PlayButton, play_button, GTK_TYPE_DRAWING_AREA); + + +static void +play_button_class_init (PlayButtonClass *klass) +{ + g_type_class_add_private (klass, sizeof (PlayButtonPrivate)); + GtkWidgetClass* widget_class; + + widget_class = GTK_WIDGET_CLASS (klass); + + widget_class->expose_event = play_button_expose; + + gobject_class->dispose = play_button_dispose; + gobject_class->finalize = play_button_finalize; + +} + +static void +play_button_init (PlayButton *self) +{ + g_debug("PlayButton::play_button_init"); +} + +static void +play_button_dispose (GObject *object) +{ + G_OBJECT_CLASS (play_button_parent_class)->dispose (object); +} + +static void +play_button_finalize (GObject *object) +{ + G_OBJECT_CLASS (play_button_parent_class)->finalize (object); +} + +static gboolean +play_button_expose (GtkWidget *button, GdkEventExpose *event) +{ +return FALSE; +} + + + +/** +* play_button_new: +* @returns: a new #PlayButton. +**/ +GtkWidget* +play_button_new() +{ + return g_object_new(PLAY_BUTTON_TYPE, NULL); +} + -- cgit v1.2.3