]> Pileus Git - ~andy/gtk/blob - gtk/gtkcolorscale.h
Rework the API a bit
[~andy/gtk] / gtk / gtkcolorscale.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2012 Red Hat, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
21 #error "Only <gtk/gtk.h> can be included directly."
22 #endif
23
24 #ifndef __GTK_COLOR_SCALE_H__
25 #define __GTK_COLOR_SCALE_H__
26
27 #include <gtk/gtkscale.h>
28
29 G_BEGIN_DECLS
30
31 #define GTK_TYPE_COLOR_SCALE            (gtk_color_scale_get_type ())
32 #define GTK_COLOR_SCALE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_SCALE, GtkColorScale))
33 #define GTK_COLOR_SCALE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_COLOR_SCALE, GtkColorScaleClass))
34 #define GTK_IS_COLOR_SCALE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_COLOR_SCALE))
35 #define GTK_IS_COLOR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_COLOR_SCALE))
36 #define GTK_COLOR_SCALE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_COLOR_SCALE, GtkColorScaleClass))
37
38
39 typedef struct _GtkColorScale         GtkColorScale;
40 typedef struct _GtkColorScaleClass    GtkColorScaleClass;
41 typedef struct _GtkColorScalePrivate  GtkColorScalePrivate;
42
43 struct _GtkColorScale
44 {
45   GtkScale parent_instance;
46
47   GtkColorScalePrivate *priv;
48 };
49
50 struct _GtkColorScaleClass
51 {
52   GtkScaleClass parent_class;
53
54   /* Padding for future expansion */
55   void (*_gtk_reserved1) (void);
56   void (*_gtk_reserved2) (void);
57   void (*_gtk_reserved3) (void);
58   void (*_gtk_reserved4) (void);
59 };
60
61 typedef enum
62 {
63   GTK_COLOR_SCALE_HUE,
64   GTK_COLOR_SCALE_ALPHA
65 } GtkColorScaleType;
66
67 G_GNUC_INTERNAL
68 GType       gtk_color_scale_get_type (void) G_GNUC_CONST;
69
70 G_GNUC_INTERNAL
71 GtkWidget * gtk_color_scale_new      (GtkAdjustment     *adjustment,
72                                       GtkColorScaleType  type);
73
74 G_GNUC_INTERNAL
75 void        gtk_color_scale_set_rgba (GtkColorScale     *scale,
76                                       const GdkRGBA     *color);
77
78 G_END_DECLS
79
80 #endif /* __GTK_COLOR_SCALE_H__ */