+/* GDK - The GIMP Drawing Kit
+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ *
+ * 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.
+ */
+
+/*
+ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
+ * file for a list of people on the GTK+ Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
+#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
#ifndef __GDK_GC_H__
#define __GDK_GC_H__
#include <gdk/gdkcolor.h>
#include <gdk/gdktypes.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
typedef struct _GdkGCValues GdkGCValues;
typedef struct _GdkGCClass GdkGCClass;
GdkJoinStyle join_style;
};
+#define GDK_TYPE_GC (gdk_gc_get_type ())
+#define GDK_GC(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC, GdkGC))
+#define GDK_GC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC, GdkGCClass))
+#define GDK_IS_GC(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC))
+#define GDK_IS_GC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC))
+#define GDK_GC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC, GdkGCClass))
+
struct _GdkGC
{
- gint dummy_var;
+ GObject parent_instance;
+
+ gint clip_x_origin;
+ gint clip_y_origin;
+ gint ts_x_origin;
+ gint ts_y_origin;
+
+ GdkColormap *colormap;
};
struct _GdkGCClass
{
- void (*destroy) (GdkGC *gc);
+ GObjectClass parent_class;
+
void (*get_values) (GdkGC *gc,
GdkGCValues *values);
void (*set_values) (GdkGC *gc,
GdkGCValuesMask mask);
void (*set_dashes) (GdkGC *gc,
gint dash_offset,
- gchar dash_list[],
+ gint8 dash_list[],
gint n);
+
+ /* Padding for future expansion */
+ void (*_gdk_reserved1) (void);
+ void (*_gdk_reserved2) (void);
+ void (*_gdk_reserved3) (void);
+ void (*_gdk_reserved4) (void);
};
+GType gdk_gc_get_type (void) G_GNUC_CONST;
GdkGC *gdk_gc_new (GdkDrawable *drawable);
-GdkGC *gdk_gc_alloc (void);
-
GdkGC *gdk_gc_new_with_values (GdkDrawable *drawable,
GdkGCValues *values,
GdkGCValuesMask values_mask);
-void gdk_gc_init (GdkGC *gc,
- GdkGCClass *klass);
+
+#ifndef GDK_DISABLE_DEPRECATED
GdkGC *gdk_gc_ref (GdkGC *gc);
void gdk_gc_unref (GdkGC *gc);
+#endif
+
void gdk_gc_get_values (GdkGC *gc,
GdkGCValues *values);
+void gdk_gc_set_values (GdkGC *gc,
+ GdkGCValues *values,
+ GdkGCValuesMask values_mask);
void gdk_gc_set_foreground (GdkGC *gc,
- GdkColor *color);
+ const GdkColor *color);
void gdk_gc_set_background (GdkGC *gc,
- GdkColor *color);
+ const GdkColor *color);
+#ifndef GDK_DISABLE_DEPRECATED
void gdk_gc_set_font (GdkGC *gc,
GdkFont *font);
+#endif /* GDK_DISABLE_DEPRECATED */
void gdk_gc_set_function (GdkGC *gc,
GdkFunction function);
void gdk_gc_set_fill (GdkGC *gc,
void gdk_gc_set_clip_mask (GdkGC *gc,
GdkBitmap *mask);
void gdk_gc_set_clip_rectangle (GdkGC *gc,
- GdkRectangle *rectangle);
+ const GdkRectangle *rectangle);
void gdk_gc_set_clip_region (GdkGC *gc,
- GdkRegion *region);
+ const GdkRegion *region);
void gdk_gc_set_subwindow (GdkGC *gc,
GdkSubwindowMode mode);
void gdk_gc_set_exposures (GdkGC *gc,
gint dash_offset,
gint8 dash_list[],
gint n);
-void gdk_gc_copy (GdkGC *dst_gc,
- GdkGC *src_gc);
+void gdk_gc_offset (GdkGC *gc,
+ gint x_offset,
+ gint y_offset);
+void gdk_gc_copy (GdkGC *dst_gc,
+ GdkGC *src_gc);
+
+
+void gdk_gc_set_colormap (GdkGC *gc,
+ GdkColormap *colormap);
+GdkColormap *gdk_gc_get_colormap (GdkGC *gc);
+void gdk_gc_set_rgb_fg_color (GdkGC *gc,
+ const GdkColor *color);
+void gdk_gc_set_rgb_bg_color (GdkGC *gc,
+ const GdkColor *color);
+GdkScreen * gdk_gc_get_screen (GdkGC *gc);
+
+#ifndef GDK_DISABLE_DEPRECATED
+#define gdk_gc_destroy gdk_gc_unref
+#endif /* GDK_DISABLE_DEPRECATED */
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __GDK_DRAWABLE_H__ */