diff options
author | Owen Taylor <otaylor@redhat.com> | 1999-10-01 23:18:30 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1999-10-01 23:18:30 +0000 |
commit | 637a466d5ca1fbda2acbf5d52779dd5097b5a9e2 (patch) | |
tree | 781d1f31b75758b3b9a3d19ce4a7c55349b2ba82 /gdk/gdkregion.h | |
parent | 74d88d870aea60625b8f1ed522e86faa223ca487 (diff) | |
download | gtk+-637a466d5ca1fbda2acbf5d52779dd5097b5a9e2.tar.gz |
Started
Fri Oct 1 18:03:36 1999 Owen Taylor <otaylor@redhat.com>
* docs/Changes-1.4.txt: Started
* gtk/Makefile.am (gdk_headers): Include all the new headers.
* gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
* gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
into C file.
* gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
header to gdkinputprivate.h.
* gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
unused since before 1.2.
Diffstat (limited to 'gdk/gdkregion.h')
-rw-r--r-- | gdk/gdkregion.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/gdk/gdkregion.h b/gdk/gdkregion.h new file mode 100644 index 0000000000..c52b702bad --- /dev/null +++ b/gdk/gdkregion.h @@ -0,0 +1,79 @@ +#ifndef __GDK_REGION_H__ +#define __GDK_REGION_H__ + +#include <gdk/gdktypes.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* GC fill rule for polygons + * EvenOddRule + * WindingRule + */ +typedef enum +{ + GDK_EVEN_ODD_RULE, + GDK_WINDING_RULE +} GdkFillRule; + +/* Types of overlapping between a rectangle and a region + * GDK_OVERLAP_RECTANGLE_IN: rectangle is in region + * GDK_OVERLAP_RECTANGLE_OUT: rectangle in not in region + * GDK_OVERLAP_RECTANGLE_PART: rectangle in partially in region + */ +typedef enum +{ + GDK_OVERLAP_RECTANGLE_IN, + GDK_OVERLAP_RECTANGLE_OUT, + GDK_OVERLAP_RECTANGLE_PART +} GdkOverlapType; + +struct _GdkRegion +{ + gpointer user_data; +}; + +GdkRegion* gdk_region_new (void); +void gdk_region_destroy (GdkRegion *region); + +void gdk_region_get_clipbox(GdkRegion *region, + GdkRectangle *rectangle); + +gboolean gdk_region_empty (GdkRegion *region); +gboolean gdk_region_equal (GdkRegion *region1, + GdkRegion *region2); +gboolean gdk_region_point_in (GdkRegion *region, + int x, + int y); +GdkOverlapType gdk_region_rect_in (GdkRegion *region, + GdkRectangle *rect); + +GdkRegion* gdk_region_polygon (GdkPoint *points, + gint npoints, + GdkFillRule fill_rule); + +void gdk_region_offset (GdkRegion *region, + gint dx, + gint dy); +void gdk_region_shrink (GdkRegion *region, + gint dx, + gint dy); + +GdkRegion* gdk_region_union_with_rect (GdkRegion *region, + GdkRectangle *rect); +GdkRegion* gdk_regions_intersect (GdkRegion *source1, + GdkRegion *source2); +GdkRegion* gdk_regions_union (GdkRegion *source1, + GdkRegion *source2); +GdkRegion* gdk_regions_subtract (GdkRegion *source1, + GdkRegion *source2); +GdkRegion* gdk_regions_xor (GdkRegion *source1, + GdkRegion *source2); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __GDK_REGION_H__ */ |