]> Pileus Git - ~andy/gtk/blob - gtk/gtkcolorsel.h
fix breakage here that cause a segfault on text insertion
[~andy/gtk] / gtk / gtkcolorsel.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2000 Red Hat, Inc. 
3  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 /*
22  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
23  * file for a list of people on the GTK+ Team.  See the ChangeLog
24  * files for a list of changes.  These files are distributed with
25  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
26  */
27 #ifndef __GTK_COLOR_SELECTION_H__
28 #define __GTK_COLOR_SELECTION_H__
29
30 #include <gtk/gtkdialog.h>
31 #include <gtk/gtkvbox.h>
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif /* __cplusplus */
36
37
38 #define GTK_TYPE_COLOR_SELECTION                        (gtk_color_selection_get_type ())
39 #define GTK_COLOR_SELECTION(obj)                        (GTK_CHECK_CAST ((obj), GTK_TYPE_COLOR_SELECTION, GtkColorSelection))
40 #define GTK_COLOR_SELECTION_CLASS(klass)                (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_COLOR_SELECTION, GtkColorSelectionClass))
41 #define GTK_IS_COLOR_SELECTION(obj)                     (GTK_CHECK_TYPE ((obj), GTK_TYPE_COLOR_SELECTION))
42 #define GTK_IS_COLOR_SELECTION_CLASS(klass)             (GTK_CHECK_CLASS_TYPE ((obj), GTK_TYPE_COLOR_SELECTION))
43 #define GTK_COLOR_SELECTION_GET_CLASS(obj)              (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_COLOR_SELECTION, GtkColorSelectionClass))
44
45
46 typedef struct _GtkColorSelection       GtkColorSelection;
47 typedef struct _GtkColorSelectionClass  GtkColorSelectionClass;
48
49
50 struct _GtkColorSelection
51 {
52   GtkVBox parent_instance;
53
54   /* < private_data > */
55   gpointer private_data;
56 };
57
58 struct _GtkColorSelectionClass
59 {
60   GtkVBoxClass parent_class;
61
62   void (*color_changed) (GtkColorSelection *color_selection);
63 };
64
65
66 /* ColorSelection */ 
67
68 GtkType     gtk_color_selection_get_type          (void) G_GNUC_CONST;
69 GtkWidget * gtk_color_selection_new               (void);
70 void        gtk_color_selection_set_update_policy (GtkColorSelection *colorsel,
71                                                    GtkUpdateType      policy);
72 gboolean    gtk_color_selection_get_use_opacity   (GtkColorSelection *colorsel);
73 void        gtk_color_selection_set_use_opacity   (GtkColorSelection *colorsel,
74                                                    gboolean           use_opacity);
75 gboolean    gtk_color_selection_get_use_palette   (GtkColorSelection *colorsel);
76 void        gtk_color_selection_set_use_palette   (GtkColorSelection *colorsel,
77                                                    gboolean           use_palette);
78
79 /* The Color set is an array of doubles, of the following format:
80  * color[0] = red_channel;
81  * color[1] = green_channel;
82  * color[2] = blue_channel;
83  * color[3] = alpha_channel;
84  */
85 void       gtk_color_selection_set_color           (GtkColorSelection    *colorsel,
86                                                     gdouble               *color);
87 void       gtk_color_selection_get_color           (GtkColorSelection    *colorsel,
88                                                     gdouble               *color);
89 void       gtk_color_selection_set_old_color       (GtkColorSelection    *colorsel,
90                                                     gdouble               *color);
91 void       gtk_color_selection_get_old_color       (GtkColorSelection    *colorsel,
92                                                     gdouble               *color);
93 void       gtk_color_selection_set_palette_color   (GtkColorSelection   *colorsel,
94                                                     gint                  x,
95                                                     gint                  y,
96                                                     gdouble              *color);
97 gboolean   gtk_color_selection_get_palette_color   (GtkColorSelection   *colorsel,
98                                                     gint                  x,
99                                                     gint                  y,
100                                                     gdouble              *color);
101 void       gtk_color_selection_unset_palette_color (GtkColorSelection   *colorsel,
102                                                     gint                  x,
103                                                     gint                  y);
104 gboolean   gtk_color_selection_is_adjusting        (GtkColorSelection    *colorsel);
105
106
107 #ifdef __cplusplus
108 }
109 #endif /* __cplusplus */
110
111
112 #endif /* __GTK_COLOR_SELECTION_H__ */