Blame gdk/gdkgc.h

Packit Service fb6fa5
/* GDK - The GIMP Drawing Kit
Packit Service fb6fa5
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is free software; you can redistribute it and/or
Packit Service fb6fa5
 * modify it under the terms of the GNU Lesser General Public
Packit Service fb6fa5
 * License as published by the Free Software Foundation; either
Packit Service fb6fa5
 * version 2 of the License, or (at your option) any later version.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is distributed in the hope that it will be useful,
Packit Service fb6fa5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service fb6fa5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service fb6fa5
 * Lesser General Public License for more details.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You should have received a copy of the GNU Lesser General Public
Packit Service fb6fa5
 * License along with this library; if not, write to the
Packit Service fb6fa5
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service fb6fa5
 * Boston, MA 02111-1307, USA.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
/*
Packit Service fb6fa5
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
Packit Service fb6fa5
 * file for a list of people on the GTK+ Team.  See the ChangeLog
Packit Service fb6fa5
 * files for a list of changes.  These files are distributed with
Packit Service fb6fa5
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
#ifndef __GDK_GC_H__
Packit Service fb6fa5
#define __GDK_GC_H__
Packit Service fb6fa5
Packit Service fb6fa5
#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
Packit Service fb6fa5
#error "Only <gdk/gdk.h> can be included directly."
Packit Service fb6fa5
#endif
Packit Service fb6fa5
Packit Service fb6fa5
#include <gdk/gdkcolor.h>
Packit Service fb6fa5
#include <gdk/gdktypes.h>
Packit Service fb6fa5
Packit Service fb6fa5
G_BEGIN_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
typedef struct _GdkGCValues	      GdkGCValues;
Packit Service fb6fa5
typedef struct _GdkGCClass	      GdkGCClass;
Packit Service fb6fa5
Packit Service fb6fa5
/* GC cap styles
Packit Service fb6fa5
 *  CapNotLast:
Packit Service fb6fa5
 *  CapButt:
Packit Service fb6fa5
 *  CapRound:
Packit Service fb6fa5
 *  CapProjecting:
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_CAP_NOT_LAST,
Packit Service fb6fa5
  GDK_CAP_BUTT,
Packit Service fb6fa5
  GDK_CAP_ROUND,
Packit Service fb6fa5
  GDK_CAP_PROJECTING
Packit Service fb6fa5
} GdkCapStyle;
Packit Service fb6fa5
Packit Service fb6fa5
/* GC fill types.
Packit Service fb6fa5
 *  Solid:
Packit Service fb6fa5
 *  Tiled:
Packit Service fb6fa5
 *  Stippled:
Packit Service fb6fa5
 *  OpaqueStippled:
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_SOLID,
Packit Service fb6fa5
  GDK_TILED,
Packit Service fb6fa5
  GDK_STIPPLED,
Packit Service fb6fa5
  GDK_OPAQUE_STIPPLED
Packit Service fb6fa5
} GdkFill;
Packit Service fb6fa5
Packit Service fb6fa5
/* GC function types.
Packit Service fb6fa5
 *   Copy: Overwrites destination pixels with the source pixels.
Packit Service fb6fa5
 *   Invert: Inverts the destination pixels.
Packit Service fb6fa5
 *   Xor: Xor's the destination pixels with the source pixels.
Packit Service fb6fa5
 *   Clear: set pixels to 0
Packit Service fb6fa5
 *   And: source AND destination
Packit Service fb6fa5
 *   And Reverse: source AND (NOT destination)
Packit Service fb6fa5
 *   And Invert: (NOT source) AND destination
Packit Service fb6fa5
 *   Noop: destination
Packit Service fb6fa5
 *   Or: source OR destination
Packit Service fb6fa5
 *   Nor: (NOT source) AND (NOT destination)
Packit Service fb6fa5
 *   Equiv: (NOT source) XOR destination
Packit Service fb6fa5
 *   Xor Reverse: source OR (NOT destination)
Packit Service fb6fa5
 *   Copy Inverted: NOT source
Packit Service fb6fa5
 *   Xor Inverted: (NOT source) OR destination
Packit Service fb6fa5
 *   Nand: (NOT source) OR (NOT destination)
Packit Service fb6fa5
 *   Set: set pixels to 1
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_COPY,
Packit Service fb6fa5
  GDK_INVERT,
Packit Service fb6fa5
  GDK_XOR,
Packit Service fb6fa5
  GDK_CLEAR,
Packit Service fb6fa5
  GDK_AND,
Packit Service fb6fa5
  GDK_AND_REVERSE,
Packit Service fb6fa5
  GDK_AND_INVERT,
Packit Service fb6fa5
  GDK_NOOP,
Packit Service fb6fa5
  GDK_OR,
Packit Service fb6fa5
  GDK_EQUIV,
Packit Service fb6fa5
  GDK_OR_REVERSE,
Packit Service fb6fa5
  GDK_COPY_INVERT,
Packit Service fb6fa5
  GDK_OR_INVERT,
Packit Service fb6fa5
  GDK_NAND,
Packit Service fb6fa5
  GDK_NOR,
Packit Service fb6fa5
  GDK_SET
Packit Service fb6fa5
} GdkFunction;
Packit Service fb6fa5
Packit Service fb6fa5
/* GC join styles
Packit Service fb6fa5
 *  JoinMiter:
Packit Service fb6fa5
 *  JoinRound:
Packit Service fb6fa5
 *  JoinBevel:
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_JOIN_MITER,
Packit Service fb6fa5
  GDK_JOIN_ROUND,
Packit Service fb6fa5
  GDK_JOIN_BEVEL
Packit Service fb6fa5
} GdkJoinStyle;
Packit Service fb6fa5
Packit Service fb6fa5
/* GC line styles
Packit Service fb6fa5
 *  Solid:
Packit Service fb6fa5
 *  OnOffDash:
Packit Service fb6fa5
 *  DoubleDash:
Packit Service fb6fa5
 */
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_LINE_SOLID,
Packit Service fb6fa5
  GDK_LINE_ON_OFF_DASH,
Packit Service fb6fa5
  GDK_LINE_DOUBLE_DASH
Packit Service fb6fa5
} GdkLineStyle;
Packit Service fb6fa5
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_CLIP_BY_CHILDREN	= 0,
Packit Service fb6fa5
  GDK_INCLUDE_INFERIORS = 1
Packit Service fb6fa5
} GdkSubwindowMode;
Packit Service fb6fa5
Packit Service fb6fa5
typedef enum
Packit Service fb6fa5
{
Packit Service fb6fa5
  GDK_GC_FOREGROUND    = 1 << 0,
Packit Service fb6fa5
  GDK_GC_BACKGROUND    = 1 << 1,
Packit Service fb6fa5
  GDK_GC_FONT	       = 1 << 2,
Packit Service fb6fa5
  GDK_GC_FUNCTION      = 1 << 3,
Packit Service fb6fa5
  GDK_GC_FILL	       = 1 << 4,
Packit Service fb6fa5
  GDK_GC_TILE	       = 1 << 5,
Packit Service fb6fa5
  GDK_GC_STIPPLE       = 1 << 6,
Packit Service fb6fa5
  GDK_GC_CLIP_MASK     = 1 << 7,
Packit Service fb6fa5
  GDK_GC_SUBWINDOW     = 1 << 8,
Packit Service fb6fa5
  GDK_GC_TS_X_ORIGIN   = 1 << 9,
Packit Service fb6fa5
  GDK_GC_TS_Y_ORIGIN   = 1 << 10,
Packit Service fb6fa5
  GDK_GC_CLIP_X_ORIGIN = 1 << 11,
Packit Service fb6fa5
  GDK_GC_CLIP_Y_ORIGIN = 1 << 12,
Packit Service fb6fa5
  GDK_GC_EXPOSURES     = 1 << 13,
Packit Service fb6fa5
  GDK_GC_LINE_WIDTH    = 1 << 14,
Packit Service fb6fa5
  GDK_GC_LINE_STYLE    = 1 << 15,
Packit Service fb6fa5
  GDK_GC_CAP_STYLE     = 1 << 16,
Packit Service fb6fa5
  GDK_GC_JOIN_STYLE    = 1 << 17
Packit Service fb6fa5
} GdkGCValuesMask;
Packit Service fb6fa5
Packit Service fb6fa5
struct _GdkGCValues
Packit Service fb6fa5
{
Packit Service fb6fa5
  GdkColor	    foreground;
Packit Service fb6fa5
  GdkColor	    background;
Packit Service fb6fa5
  GdkFont	   *font;
Packit Service fb6fa5
  GdkFunction	    function;
Packit Service fb6fa5
  GdkFill	    fill;
Packit Service fb6fa5
  GdkPixmap	   *tile;
Packit Service fb6fa5
  GdkPixmap	   *stipple;
Packit Service fb6fa5
  GdkPixmap	   *clip_mask;
Packit Service fb6fa5
  GdkSubwindowMode  subwindow_mode;
Packit Service fb6fa5
  gint		    ts_x_origin;
Packit Service fb6fa5
  gint		    ts_y_origin;
Packit Service fb6fa5
  gint		    clip_x_origin;
Packit Service fb6fa5
  gint		    clip_y_origin;
Packit Service fb6fa5
  gint		    graphics_exposures;
Packit Service fb6fa5
  gint		    line_width;
Packit Service fb6fa5
  GdkLineStyle	    line_style;
Packit Service fb6fa5
  GdkCapStyle	    cap_style;
Packit Service fb6fa5
  GdkJoinStyle	    join_style;
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
#define GDK_TYPE_GC              (gdk_gc_get_type ())
Packit Service fb6fa5
#define GDK_GC(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC, GdkGC))
Packit Service fb6fa5
#define GDK_GC_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC, GdkGCClass))
Packit Service fb6fa5
#define GDK_IS_GC(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC))
Packit Service fb6fa5
#define GDK_IS_GC_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC))
Packit Service fb6fa5
#define GDK_GC_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC, GdkGCClass))
Packit Service fb6fa5
Packit Service fb6fa5
struct _GdkGC
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObject parent_instance;
Packit Service fb6fa5
Packit Service fb6fa5
  gint GSEAL (clip_x_origin);
Packit Service fb6fa5
  gint GSEAL (clip_y_origin);
Packit Service fb6fa5
  gint GSEAL (ts_x_origin);
Packit Service fb6fa5
  gint GSEAL (ts_y_origin);
Packit Service fb6fa5
Packit Service fb6fa5
  GdkColormap *GSEAL (colormap);
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
struct _GdkGCClass 
Packit Service fb6fa5
{
Packit Service fb6fa5
  GObjectClass parent_class;
Packit Service fb6fa5
  
Packit Service fb6fa5
  void (*get_values)     (GdkGC          *gc,
Packit Service fb6fa5
			  GdkGCValues    *values);
Packit Service fb6fa5
  void (*set_values)     (GdkGC          *gc,
Packit Service fb6fa5
			  GdkGCValues    *values,
Packit Service fb6fa5
			  GdkGCValuesMask mask);
Packit Service fb6fa5
  void (*set_dashes)     (GdkGC          *gc,
Packit Service fb6fa5
			  gint	          dash_offset,
Packit Service fb6fa5
			  gint8           dash_list[],
Packit Service fb6fa5
			  gint            n);
Packit Service fb6fa5
  
Packit Service fb6fa5
  /* Padding for future expansion */
Packit Service fb6fa5
  void         (*_gdk_reserved1)  (void);
Packit Service fb6fa5
  void         (*_gdk_reserved2)  (void);
Packit Service fb6fa5
  void         (*_gdk_reserved3)  (void);
Packit Service fb6fa5
  void         (*_gdk_reserved4)  (void);
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
#ifndef GDK_DISABLE_DEPRECATED
Packit Service fb6fa5
GType  gdk_gc_get_type            (void) G_GNUC_CONST;
Packit Service fb6fa5
GdkGC *gdk_gc_new		  (GdkDrawable	    *drawable);
Packit Service fb6fa5
GdkGC *gdk_gc_new_with_values	  (GdkDrawable	    *drawable,
Packit Service fb6fa5
				   GdkGCValues	    *values,
Packit Service fb6fa5
				   GdkGCValuesMask   values_mask);
Packit Service fb6fa5
Packit Service fb6fa5
GdkGC *gdk_gc_ref		  (GdkGC	    *gc);
Packit Service fb6fa5
void   gdk_gc_unref		  (GdkGC	    *gc);
Packit Service fb6fa5
Packit Service fb6fa5
void   gdk_gc_get_values	  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkGCValues	    *values);
Packit Service fb6fa5
void   gdk_gc_set_values          (GdkGC           *gc,
Packit Service fb6fa5
                                   GdkGCValues	   *values,
Packit Service fb6fa5
                                   GdkGCValuesMask  values_mask);
Packit Service fb6fa5
void   gdk_gc_set_foreground	  (GdkGC	    *gc,
Packit Service fb6fa5
				   const GdkColor   *color);
Packit Service fb6fa5
void   gdk_gc_set_background	  (GdkGC	    *gc,
Packit Service fb6fa5
				   const GdkColor   *color);
Packit Service fb6fa5
void   gdk_gc_set_font		  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkFont	    *font);
Packit Service fb6fa5
void   gdk_gc_set_function	  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkFunction	     function);
Packit Service fb6fa5
void   gdk_gc_set_fill		  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkFill	     fill);
Packit Service fb6fa5
void   gdk_gc_set_tile		  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkPixmap	    *tile);
Packit Service fb6fa5
void   gdk_gc_set_stipple	  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkPixmap	    *stipple);
Packit Service fb6fa5
void   gdk_gc_set_ts_origin	  (GdkGC	    *gc,
Packit Service fb6fa5
				   gint		     x,
Packit Service fb6fa5
				   gint		     y);
Packit Service fb6fa5
void   gdk_gc_set_clip_origin	  (GdkGC	    *gc,
Packit Service fb6fa5
				   gint		     x,
Packit Service fb6fa5
				   gint		     y);
Packit Service fb6fa5
void   gdk_gc_set_clip_mask	  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkBitmap	    *mask);
Packit Service fb6fa5
void   gdk_gc_set_clip_rectangle  (GdkGC	    *gc,
Packit Service fb6fa5
				   const GdkRectangle *rectangle);
Packit Service fb6fa5
void   gdk_gc_set_clip_region	  (GdkGC	    *gc,
Packit Service fb6fa5
				   const GdkRegion  *region);
Packit Service fb6fa5
void   gdk_gc_set_subwindow	  (GdkGC	    *gc,
Packit Service fb6fa5
				   GdkSubwindowMode  mode);
Packit Service fb6fa5
void   gdk_gc_set_exposures	  (GdkGC	    *gc,
Packit Service fb6fa5
				   gboolean	     exposures);
Packit Service fb6fa5
void   gdk_gc_set_line_attributes (GdkGC	    *gc,
Packit Service fb6fa5
				   gint		     line_width,
Packit Service fb6fa5
				   GdkLineStyle	     line_style,
Packit Service fb6fa5
				   GdkCapStyle	     cap_style,
Packit Service fb6fa5
				   GdkJoinStyle	     join_style);
Packit Service fb6fa5
void   gdk_gc_set_dashes          (GdkGC            *gc,
Packit Service fb6fa5
				   gint	             dash_offset,
Packit Service fb6fa5
				   gint8             dash_list[],
Packit Service fb6fa5
				   gint              n);
Packit Service fb6fa5
void   gdk_gc_offset              (GdkGC            *gc,
Packit Service fb6fa5
				   gint              x_offset,
Packit Service fb6fa5
				   gint              y_offset);
Packit Service fb6fa5
void   gdk_gc_copy		  (GdkGC	    *dst_gc,
Packit Service fb6fa5
				   GdkGC	    *src_gc);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
void         gdk_gc_set_colormap     (GdkGC          *gc,
Packit Service fb6fa5
				      GdkColormap    *colormap);
Packit Service fb6fa5
GdkColormap *gdk_gc_get_colormap     (GdkGC          *gc);
Packit Service fb6fa5
void         gdk_gc_set_rgb_fg_color (GdkGC          *gc,
Packit Service fb6fa5
				      const GdkColor *color);
Packit Service fb6fa5
void         gdk_gc_set_rgb_bg_color (GdkGC          *gc,
Packit Service fb6fa5
				      const GdkColor *color);
Packit Service fb6fa5
GdkScreen *  gdk_gc_get_screen	     (GdkGC          *gc);
Packit Service fb6fa5
Packit Service fb6fa5
#define gdk_gc_destroy                 g_object_unref
Packit Service fb6fa5
#endif /* GDK_DISABLE_DEPRECATED */
Packit Service fb6fa5
Packit Service fb6fa5
G_END_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
#endif /* __GDK_DRAWABLE_H__ */