?? gdk-points-rectangles-and-regions.html
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Points, Rectangles and Regions</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GDK Reference Manual"><link rel="up" href="reference.html" title="API Reference"><link rel="prev" href="GdkScreen.html" title="GdkScreen"><link rel="next" href="gdk-Graphics-Contexts.html" title="Graphics Contexts"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="reference" href="reference.html" title="API Reference"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="GdkScreen.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GDK Reference Manual</th><td><a accesskey="n" href="gdk-Graphics-Contexts.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id3078822" class="shortcut">Top</a>  |  <a href="#id3079598" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="gdk-Points-Rectangles-and-Regions"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3078822"></a><span class="refentrytitle">Points, Rectangles and Regions</span></h2><p>Points, Rectangles and Regions — Simple graphical data types</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include <gdk/gdk.h> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkPoint">GdkPoint</a>; <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a>;<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-rectangle-intersect">gdk_rectangle_intersect</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src2, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *dest);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-rectangle-union">gdk_rectangle_union</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src2, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *dest); <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a>;<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a>* <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-new">gdk_region_new</a> (void);<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a>* <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-polygon">gdk_region_polygon</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkPoint">GdkPoint</a> *points, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> npoints, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkFillRule">GdkFillRule</a> fill_rule);enum <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkFillRule">GdkFillRule</a>;<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a>* <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-copy">gdk_region_copy</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region);<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a>* <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-rectangle">gdk_region_rectangle</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *rectangle);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-destroy">gdk_region_destroy</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-get-clipbox">gdk_region_get_clipbox</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *rectangle);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-get-rectangles">gdk_region_get_rectangles</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> **rectangles, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> *n_rectangles);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-empty">gdk_region_empty</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-equal">gdk_region_equal</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region2);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-point-in">gdk_region_point_in</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, int x, int y);<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkOverlapType">GdkOverlapType</a> <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-rect-in">gdk_region_rect_in</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *rectangle);enum <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkOverlapType">GdkOverlapType</a>;void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-offset">gdk_region_offset</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> dx, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> dy);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-shrink">gdk_region_shrink</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> dx, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> dy);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-union-with-rect">gdk_region_union_with_rect</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *rect);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-intersect">gdk_region_intersect</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source2);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-union">gdk_region_union</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source2);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-subtract">gdk_region_subtract</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source2);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-xor">gdk_region_xor</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *source2); <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpan">GdkSpan</a>;void (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpanFunc">*GdkSpanFunc</a>) (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpan">GdkSpan</a> *span, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);void <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-spans-intersect-foreach">gdk_region_spans_intersect_foreach</a> (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion">GdkRegion</a> *region, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpan">GdkSpan</a> *spans, int n_spans, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> sorted, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpanFunc">GdkSpanFunc</a> function, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);</pre></div><div class="refsect1" lang="en"><a name="id3079598"></a><h2>Description</h2><p>GDK provides the <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkPoint"><span class="type">GdkPoint</span></a>, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a>, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion"><span class="type">GdkRegion</span></a> and <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpan"><span class="type">GdkSpan</span></a> data typesfor representing pixels and sets of pixels on the screen.</p><p><a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkPoint"><span class="type">GdkPoint</span></a> is a simple structure containing an x and y coordinate of a point.</p><p><a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle"><span class="type">GdkRectangle</span></a> is a structure holding the position and size of a rectangle.The intersection of two rectangles can be computed with<a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-rectangle-intersect"><code class="function">gdk_rectangle_intersect()</code></a>. To find the union of two rectangles use<a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-rectangle-union"><code class="function">gdk_rectangle_union()</code></a>.</p><p><a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRegion"><span class="type">GdkRegion</span></a> is an opaque data type holding a set of arbitrary pixels, and isusually used for clipping graphical operations (see <a class="link" href="gdk-Graphics-Contexts.html#gdk-gc-set-clip-region"><code class="function">gdk_gc_set_clip_region()</code></a>).</p><p><a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkSpan"><span class="type">GdkSpan</span></a> is a structure holding a spanline. A spanline is a horizontal line thatis one pixel wide. It is mainly used when rasterizing other graphics primitives.It can be intersected to regions by using <a class="link" href="gdk-Points-Rectangles-and-Regions.html#gdk-region-spans-intersect-foreach"><code class="function">gdk_region_spans_intersect_foreach()</code></a>.</p></div><div class="refsect1" lang="en"><a name="id3079745"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3079755"></a><h3><a name="GdkPoint"></a>GdkPoint</h3><a class="indexterm" name="id3079768"></a><pre class="programlisting">typedef struct { gint x; gint y;} GdkPoint;</pre><p>Defines the x and y coordinates of a point.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>x</code></em>;</span></p></td><td>the x coordinate of the point.</td></tr><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>y</code></em>;</span></p></td><td>the y coordinate of the point.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3079828"></a><h3><a name="GdkRectangle"></a>GdkRectangle</h3><a class="indexterm" name="id3079841"></a><pre class="programlisting">typedef struct { gint x; gint y; gint width; gint height;} GdkRectangle;</pre><p>Defines the position and size of a rectangle.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>x</code></em>;</span></p></td><td>the x coordinate of the left edge of the rectangle.</td></tr><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>y</code></em>;</span></p></td><td>the y coordinate of the top of the rectangle.</td></tr><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>width</code></em>;</span></p></td><td>the width of the rectangle.</td></tr><tr><td><p><span class="term"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <em class="structfield"><code>height</code></em>;</span></p></td><td>the height of the rectangle.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3079946"></a><h3><a name="gdk-rectangle-intersect"></a>gdk_rectangle_intersect ()</h3><a class="indexterm" name="id3079958"></a><pre class="programlisting"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> gdk_rectangle_intersect (<a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src1, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *src2, <a class="link" href="gdk-Points-Rectangles-and-Regions.html#GdkRectangle">GdkRectangle</a> *dest);</pre><p>Calculates the intersection of two rectangles. It is allowed for<em class="parameter"><code>dest</code></em> to be the same as either <em class="parameter"><code>src1</code></em> or <em class="parameter"><code>src2</code></em>. If the rectangles do not intersect, <em class="parameter"><code>dest</code></em>'s width and height is set to 0 and its x and y values are undefined. If you are only interested in whetherthe rectangles intersect, but not in the intersecting area itself,pass <ahref="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>dest</code></em>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>src1</code></em> :</span></p></td>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -