1999-08-16 18:51:52 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
Points, Rectangles and Regions
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
2002-11-23 23:02:10 +00:00
|
|
|
Simple graphical data types
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
2000-11-22 10:07:34 +00:00
|
|
|
GDK provides the #GdkPoint, #GdkRectangle, #GdkRegion and #GdkSpan data types
|
|
|
|
for representing pixels and sets of pixels on the screen.
|
1999-08-28 20:47:33 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
#GdkPoint is a simple structure containing an x and y coordinate of a point.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
#GdkRectangle is a structure holding the position and size of a rectangle.
|
|
|
|
The intersection of two rectangles can be computed with
|
|
|
|
gdk_rectangle_intersect(). To find the union of two rectangles use
|
|
|
|
gdk_rectangle_union().
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
#GdkRegion is an opaque data type holding a set of arbitrary pixels, and is
|
|
|
|
usually used for clipping graphical operations (see gdk_gc_set_clip_region()).
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
2000-11-22 10:07:34 +00:00
|
|
|
<para>
|
|
|
|
#GdkSpan is a structure holding a spanline. A spanline is a horizontal line that
|
|
|
|
is one pixel wide. It is mainly used when rasterizing other graphics primitives.
|
|
|
|
It can be intersected to regions by using gdk_region_spans_intersect_foreach().
|
|
|
|
</para>
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
2005-06-20 22:06:27 +00:00
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
|
|
|
2010-05-08 05:18:53 +00:00
|
|
|
<!-- ##### SECTION Image ##### -->
|
|
|
|
|
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
<!-- ##### STRUCT GdkPoint ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Defines the x and y coordinates of a point.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@x: the x coordinate of the point.
|
|
|
|
@y: the y coordinate of the point.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### STRUCT GdkRectangle ##### -->
|
|
|
|
<para>
|
2001-02-12 17:50:13 +00:00
|
|
|
Defines the position and size of a rectangle.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2001-02-12 17:50:13 +00:00
|
|
|
@x: the x coordinate of the left edge of the rectangle.
|
|
|
|
@y: the y coordinate of the top of the rectangle.
|
|
|
|
@width: the width of the rectangle.
|
|
|
|
@height: the height of the rectangle.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_rectangle_intersect ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@src1:
|
|
|
|
@src2:
|
|
|
|
@dest:
|
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_rectangle_union ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2006-05-05 16:21:19 +00:00
|
|
|
@src1:
|
|
|
|
@src2:
|
|
|
|
@dest:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### STRUCT GdkRegion ##### -->
|
|
|
|
<para>
|
1999-08-28 20:47:33 +00:00
|
|
|
A GdkRegion represents a set of pixels on the screen.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_region_new ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2010-05-08 05:18:53 +00:00
|
|
|
@void:
|
2005-12-24 07:29:00 +00:00
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_polygon ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2000-02-01 04:27:56 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@points:
|
2008-02-15 23:42:42 +00:00
|
|
|
@n_points:
|
2005-12-24 07:29:00 +00:00
|
|
|
@fill_rule:
|
2006-05-05 16:21:19 +00:00
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### ENUM GdkFillRule ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2000-02-01 04:27:56 +00:00
|
|
|
The method for determining which pixels are included in a region, when
|
|
|
|
creating a #GdkRegion from a polygon.
|
|
|
|
The fill rule is only relevant for polygons which overlap themselves.
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
@GDK_EVEN_ODD_RULE: areas which are overlapped an odd number of times are
|
|
|
|
included in the region, while areas overlapped an even number of times are not.
|
|
|
|
@GDK_WINDING_RULE: overlapping areas are always included.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_copy ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@region:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_region_rectangle ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@rectangle:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
2000-02-01 04:27:56 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_destroy ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_get_clipbox ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2006-05-05 16:21:19 +00:00
|
|
|
@region:
|
|
|
|
@rectangle:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2001-03-03 23:29:50 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_get_rectangles ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@region:
|
|
|
|
@rectangles:
|
|
|
|
@n_rectangles:
|
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_empty ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
2006-05-05 16:21:19 +00:00
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_equal ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region1:
|
|
|
|
@region2:
|
2006-05-05 16:21:19 +00:00
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2009-07-07 05:05:29 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_rect_equal ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@region:
|
|
|
|
@rectangle:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_point_in ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2006-05-05 16:21:19 +00:00
|
|
|
@region:
|
2005-12-24 07:29:00 +00:00
|
|
|
@x:
|
|
|
|
@y:
|
2006-05-05 16:21:19 +00:00
|
|
|
@Returns:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_rect_in ##### -->
|
2000-02-01 04:27:56 +00:00
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
|
|
|
@rectangle:
|
2006-05-05 16:21:19 +00:00
|
|
|
@Returns:
|
2000-09-07 18:17:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### ENUM GdkOverlapType ##### -->
|
|
|
|
<para>
|
|
|
|
Specifies the possible values returned by gdk_region_rect_in().
|
|
|
|
</para>
|
1999-08-16 18:51:52 +00:00
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
@GDK_OVERLAP_RECTANGLE_IN: if the rectangle is inside the #GdkRegion.
|
|
|
|
@GDK_OVERLAP_RECTANGLE_OUT: if the rectangle is outside the #GdkRegion.
|
|
|
|
@GDK_OVERLAP_RECTANGLE_PART: if the rectangle is partly inside the #GdkRegion.
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_region_offset ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
|
|
|
@dx:
|
|
|
|
@dy:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_region_shrink ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
|
|
|
@dx:
|
|
|
|
@dy:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_union_with_rect ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2001-03-03 23:29:50 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2002-04-30 18:07:51 +00:00
|
|
|
@region:
|
|
|
|
@rect:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_intersect ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
2002-04-30 18:07:51 +00:00
|
|
|
@source1:
|
|
|
|
@source2:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_union ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2000-09-07 18:17:06 +00:00
|
|
|
|
1999-08-16 18:51:52 +00:00
|
|
|
</para>
|
|
|
|
|
2002-04-30 18:07:51 +00:00
|
|
|
@source1:
|
|
|
|
@source2:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_subtract ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
2002-04-30 18:07:51 +00:00
|
|
|
@source1:
|
|
|
|
@source2:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2000-09-07 18:17:06 +00:00
|
|
|
<!-- ##### FUNCTION gdk_region_xor ##### -->
|
1999-08-16 18:51:52 +00:00
|
|
|
<para>
|
2000-02-01 04:27:56 +00:00
|
|
|
</para>
|
|
|
|
|
2002-04-30 18:07:51 +00:00
|
|
|
@source1:
|
|
|
|
@source2:
|
1999-08-16 18:51:52 +00:00
|
|
|
|
|
|
|
|
2001-02-20 05:21:44 +00:00
|
|
|
<!-- ##### STRUCT GdkSpan ##### -->
|
|
|
|
<para>
|
2001-10-07 18:59:46 +00:00
|
|
|
A GdkSpan represents a horizontal line of pixels starting
|
|
|
|
at the pixel with coordinates @x, @y and ending before @x + @width, @y.
|
2001-02-20 05:21:44 +00:00
|
|
|
</para>
|
|
|
|
|
2001-10-07 18:59:46 +00:00
|
|
|
@x: x coordinate of the first pixel.
|
|
|
|
@y: y coordinate of the first pixel.
|
2001-10-13 05:52:14 +00:00
|
|
|
@width: number of pixels in the span.
|
2001-02-20 05:21:44 +00:00
|
|
|
|
|
|
|
<!-- ##### USER_FUNCTION GdkSpanFunc ##### -->
|
|
|
|
<para>
|
2001-10-07 18:59:46 +00:00
|
|
|
This defines the type of the function passed to
|
|
|
|
gdk_region_spans_intersect_foreach().
|
2001-02-20 05:21:44 +00:00
|
|
|
</para>
|
|
|
|
|
2001-10-13 05:52:14 +00:00
|
|
|
@span: a #GdkSpan.
|
2001-10-07 18:59:46 +00:00
|
|
|
@data: the user data passed to gdk_region_spans_intersect_foreach().
|
2001-02-20 05:21:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_region_spans_intersect_foreach ##### -->
|
|
|
|
<para>
|
2005-12-24 07:29:00 +00:00
|
|
|
|
2001-02-20 05:21:44 +00:00
|
|
|
</para>
|
|
|
|
|
2005-12-24 07:29:00 +00:00
|
|
|
@region:
|
2006-05-05 16:21:19 +00:00
|
|
|
@spans:
|
|
|
|
@n_spans:
|
2005-12-24 07:29:00 +00:00
|
|
|
@sorted:
|
2006-05-05 16:21:19 +00:00
|
|
|
@function:
|
2005-12-24 07:29:00 +00:00
|
|
|
@data:
|
2001-02-20 05:21:44 +00:00
|
|
|
|
|
|
|
|