Filter:   InfoImg
download gdkregion.h
Language: C
LOC: 56
Project Info
OpenEV
Server: SourceForge
Type: cvs
...nev\openev\pkgsrc\gtk+\gdk\
   gdk.c
   gdk.def
   gdk.h
   gdkcc.h
   gdkcolor.c
   gdkcolor.h
   gdkcompat.h
   gdkconfig.h
   gdkconfig.h.win32
   gdkcursor.c
   gdkcursor.h
   gdkcursors.h
   gdkdnd.h
   gdkdraw.c
   gdkdrawable.h
   gdkevents.c
   gdkevents.h
   gdkfont.c
   gdkfont.h
   gdkgc.c
   gdkgc.h
   gdkglobals.c
   gdki18n.h
   gdkim.h
   gdkimage.c
   gdkimage.h
   gdkinput.h
   gdkkeysyms.h
   gdkpixmap.h
   gdkprivate.h
   gdkproperty.h
   gdkrectangle.c
   gdkregion.h
   gdkrgb.c
   gdkrgb.h
   gdkselection.h
   gdktypes.h
   gdkvisual.h
   gdkwindow.c
   gdkwindow.h
   makefile.cygwin
   makefile.vc

#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__ */