/* * OWL (OpenedHand Widget Library) Colour Button. * * Author: Rob Bradford * * Copyright (C) 2007 OpenedHand Ltd. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef _OWL_COLOUR_BUTTON #define _OWL_COLOUR_BUTTON #include #include G_BEGIN_DECLS #define OWL_RGBA_RED(x) ((x & 0xFF000000) >> 16) #define OWL_RGBA_GREEN(x) ((x & 0x00FF0000) >> 8) #define OWL_RGBA_BLUE(x) ((x & 0x0000FF00)) #define OWL_TYPE_COLOUR_BUTTON owl_colour_button_get_type() #define OWL_COLOUR_BUTTON(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ OWL_TYPE_COLOUR_BUTTON, OwlColourButton)) #define OWL_COLOUR_BUTTON_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), \ OWL_TYPE_COLOUR_BUTTON, OwlColourButtonClass)) #define OWL_IS_COLOUR_BUTTON(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ OWL_TYPE_COLOUR_BUTTON)) #define OWL_IS_COLOUR_BUTTON_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), \ OWL_TYPE_COLOUR_BUTTON)) #define OWL_COLOUR_BUTTON_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), \ OWL_TYPE_COLOUR_BUTTON, OwlColourButtonClass)) typedef struct { GtkButton parent; } OwlColourButton; typedef struct { GtkButtonClass parent_class; void (*changed) (OwlColourButton *self, guint32 colour); } OwlColourButtonClass; GType owl_colour_button_get_type (void); GtkWidget* owl_colour_button_new (void); void owl_colour_button_set_colour (OwlColourButton *self, guint32 colour); guint32 owl_colour_button_get_colour (OwlColourButton *self); G_END_DECLS #endif /* _OWL_COLOUR_BUTTON */