4 #include <gdk/gdkcolor.h>
5 #include <gdk/gdktypes.h>
9 #endif /* __cplusplus */
11 typedef struct _GdkGCValues GdkGCValues;
12 typedef struct _GdkGCClass GdkGCClass;
43 * Copy: Overwrites destination pixels with the source pixels.
44 * Invert: Inverts the destination pixels.
45 * Xor: Xor's the destination pixels with the source pixels.
46 * Clear: set pixels to 0
47 * And: source AND destination
48 * And Reverse: source AND (NOT destination)
49 * And Invert: (NOT source) AND destination
51 * Or: source OR destination
52 * Nor: (NOT source) AND (NOT destination)
53 * Equiv: (NOT source) XOR destination
54 * Xor Reverse: source OR (NOT destination)
55 * Copy Inverted: NOT source
56 * Xor Inverted: (NOT source) OR destination
57 * Nand: (NOT source) OR (NOT destination)
58 * Set: set pixels to 1
100 GDK_LINE_ON_OFF_DASH,
106 GDK_CLIP_BY_CHILDREN = 0,
107 GDK_INCLUDE_INFERIORS = 1
112 GDK_GC_FOREGROUND = 1 << 0,
113 GDK_GC_BACKGROUND = 1 << 1,
114 GDK_GC_FONT = 1 << 2,
115 GDK_GC_FUNCTION = 1 << 3,
116 GDK_GC_FILL = 1 << 4,
117 GDK_GC_TILE = 1 << 5,
118 GDK_GC_STIPPLE = 1 << 6,
119 GDK_GC_CLIP_MASK = 1 << 7,
120 GDK_GC_SUBWINDOW = 1 << 8,
121 GDK_GC_TS_X_ORIGIN = 1 << 9,
122 GDK_GC_TS_Y_ORIGIN = 1 << 10,
123 GDK_GC_CLIP_X_ORIGIN = 1 << 11,
124 GDK_GC_CLIP_Y_ORIGIN = 1 << 12,
125 GDK_GC_EXPOSURES = 1 << 13,
126 GDK_GC_LINE_WIDTH = 1 << 14,
127 GDK_GC_LINE_STYLE = 1 << 15,
128 GDK_GC_CAP_STYLE = 1 << 16,
129 GDK_GC_JOIN_STYLE = 1 << 17
137 GdkFunction function;
141 GdkPixmap *clip_mask;
142 GdkSubwindowMode subwindow_mode;
147 gint graphics_exposures;
149 GdkLineStyle line_style;
150 GdkCapStyle cap_style;
151 GdkJoinStyle join_style;
154 #define GDK_TYPE_GC (gdk_gc_get_type ())
155 #define GDK_GC(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC, GdkGC))
156 #define GDK_GC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC, GdkGCClass))
157 #define GDK_IS_GC(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC))
158 #define GDK_IS_GC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC))
159 #define GDK_GC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC, GdkGCClass))
163 GObject parent_instance;
170 GdkColormap *colormap;
175 GObjectClass parent_class;
177 void (*get_values) (GdkGC *gc,
178 GdkGCValues *values);
179 void (*set_values) (GdkGC *gc,
181 GdkGCValuesMask mask);
182 void (*set_dashes) (GdkGC *gc,
189 GType gdk_gc_get_type (void) G_GNUC_CONST;
190 GdkGC *gdk_gc_new (GdkDrawable *drawable);
191 GdkGC *gdk_gc_new_with_values (GdkDrawable *drawable,
193 GdkGCValuesMask values_mask);
194 GdkGC *gdk_gc_ref (GdkGC *gc);
195 void gdk_gc_unref (GdkGC *gc);
196 void gdk_gc_get_values (GdkGC *gc,
197 GdkGCValues *values);
198 void gdk_gc_set_values (GdkGC *gc,
200 GdkGCValuesMask values_mask);
201 void gdk_gc_set_foreground (GdkGC *gc,
203 void gdk_gc_set_background (GdkGC *gc,
205 void gdk_gc_set_font (GdkGC *gc,
207 void gdk_gc_set_function (GdkGC *gc,
208 GdkFunction function);
209 void gdk_gc_set_fill (GdkGC *gc,
211 void gdk_gc_set_tile (GdkGC *gc,
213 void gdk_gc_set_stipple (GdkGC *gc,
215 void gdk_gc_set_ts_origin (GdkGC *gc,
218 void gdk_gc_set_clip_origin (GdkGC *gc,
221 void gdk_gc_set_clip_mask (GdkGC *gc,
223 void gdk_gc_set_clip_rectangle (GdkGC *gc,
224 GdkRectangle *rectangle);
225 void gdk_gc_set_clip_region (GdkGC *gc,
227 void gdk_gc_set_subwindow (GdkGC *gc,
228 GdkSubwindowMode mode);
229 void gdk_gc_set_exposures (GdkGC *gc,
231 void gdk_gc_set_line_attributes (GdkGC *gc,
233 GdkLineStyle line_style,
234 GdkCapStyle cap_style,
235 GdkJoinStyle join_style);
236 void gdk_gc_set_dashes (GdkGC *gc,
240 void gdk_gc_copy (GdkGC *dst_gc,
244 void gdk_gc_set_colormap (GdkGC *gc,
245 GdkColormap *colormap);
246 GdkColormap *gdk_gc_get_colormap (GdkGC *gc);
247 void gdk_gc_set_rgb_fg_color (GdkGC *gc,
249 void gdk_gc_set_rgb_bg_color (GdkGC *gc,
254 #endif /* __cplusplus */
256 #endif /* __GDK_DRAWABLE_H__ */