aboutsummaryrefslogtreecommitdiff
path: root/src/play-button.c
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-06-28 17:54:39 +0100
committerConor Curran <conor.curran@canonical.com>2010-06-28 17:54:39 +0100
commit33395ee8bff3e3d4b42bc40823eb9efe88f1611d (patch)
treedeae1f8e0fb1d5fa557b193f0e0fc51aeee3450d /src/play-button.c
parent574e1ce1c2a021eabcbe3122f0e2d5845f3293f0 (diff)
downloadayatana-indicator-sound-33395ee8bff3e3d4b42bc40823eb9efe88f1611d.tar.gz
ayatana-indicator-sound-33395ee8bff3e3d4b42bc40823eb9efe88f1611d.tar.bz2
ayatana-indicator-sound-33395ee8bff3e3d4b42bc40823eb9efe88f1611d.zip
new playbutton for cairo drawing
Diffstat (limited to 'src/play-button.c')
-rw-r--r--src/play-button.c100
1 files changed, 100 insertions, 0 deletions
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 <conor.curran@canonical.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib/gi18n.h>
+#include "play-button.h"
+#include "common-defs.h"
+#include <gtk/gtk.h>
+
+
+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);
+}
+