]> Pileus Git - ~andy/gtk/blob - gdk/gdkregion.h
Add rule for make-inline-pixbuf. Use gdk-pixbuf's version number in the
[~andy/gtk] / gdk / gdkregion.h
1 #ifndef __GDK_REGION_H__
2 #define __GDK_REGION_H__
3
4 #include <gdk/gdktypes.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif /* __cplusplus */
9
10 /* GC fill rule for polygons
11  *  EvenOddRule
12  *  WindingRule
13  */
14 typedef enum
15 {
16   GDK_EVEN_ODD_RULE,
17   GDK_WINDING_RULE
18 } GdkFillRule;
19
20 /* Types of overlapping between a rectangle and a region
21  * GDK_OVERLAP_RECTANGLE_IN: rectangle is in region
22  * GDK_OVERLAP_RECTANGLE_OUT: rectangle in not in region
23  * GDK_OVERLAP_RECTANGLE_PART: rectangle in partially in region
24  */
25 typedef enum
26 {
27   GDK_OVERLAP_RECTANGLE_IN,
28   GDK_OVERLAP_RECTANGLE_OUT,
29   GDK_OVERLAP_RECTANGLE_PART
30 } GdkOverlapType;
31
32 GdkRegion *gdk_region_new       (void);
33 GdkRegion *gdk_region_polygon   (GdkPoint     *points,
34                                  gint          npoints,
35                                  GdkFillRule   fill_rule);
36 GdkRegion *gdk_region_copy      (GdkRegion    *region);
37 GdkRegion *gdk_region_rectangle (GdkRectangle *rectangle);
38 void       gdk_region_destroy   (GdkRegion    *region);
39
40 void           gdk_region_get_clipbox (GdkRegion    *region,
41                                        GdkRectangle *rectangle);
42
43 gboolean       gdk_region_empty    (GdkRegion    *region);
44 gboolean       gdk_region_equal    (GdkRegion    *region1,
45                                     GdkRegion    *region2);
46 gboolean       gdk_region_point_in (GdkRegion    *region,
47                                     int           x,
48                                     int           y);
49 GdkOverlapType gdk_region_rect_in  (GdkRegion    *region,
50                                     GdkRectangle *rect);
51
52 void gdk_region_offset          (GdkRegion    *region,
53                                  gint          dx,
54                                  gint          dy);
55 void gdk_region_shrink          (GdkRegion    *region,
56                                  gint          dx,
57                                  gint          dy);
58 void gdk_region_union_with_rect (GdkRegion    *region,
59                                  GdkRectangle *rect);
60 void gdk_region_intersect       (GdkRegion    *source1,
61                                  GdkRegion    *source2);
62 void gdk_region_union           (GdkRegion    *source1,
63                                  GdkRegion    *source2);
64 void gdk_region_subtract        (GdkRegion    *source1,
65                                  GdkRegion    *source2);
66 void gdk_region_xor             (GdkRegion    *source1,
67                                  GdkRegion    *source2);
68
69 #ifdef __cplusplus
70 }
71 #endif /* __cplusplus */
72
73 #endif /* __GDK_REGION_H__ */