File: region_8hh-source.html

package info (click to toggle)
gfcui 2.3.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,420 kB
  • ctags: 18,023
  • sloc: cpp: 53,967; sh: 31,555; makefile: 1,322; perl: 108
file content (185 lines) | stat: -rw-r--r-- 13,225 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>GTK+ Foundation Classes</title>
  <link href="gfc.css" rel="stylesheet" type="text/css">
  <meta content="The GFC Development Team" name="author">
  <meta content="Core Library Reference Manual" name="description">
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(243, 244, 248);"
 alink="#000099" link="#000099" vlink="#990099">
<table style="text-align: left; width: 1227px; height: 117px;"
 border="0" cellpadding="0" cellspacing="0">
  <tbody>
    <tr>
      <td
 style="text-align: center; background-color: rgb(255, 255, 255); width: 220px; vertical-align: top;"><img
 alt="GFC Logo" src="../images/gfc.png"
 style="width: 207px; height: 92px;"></td>
      <td
 style="text-align: center; background-color: rgb(87, 107, 152); vertical-align: middle;"><img
 alt="GFC Title Logo" src="../images/gfc-title.png"
 style="width: 418px; height: 76px;"><br>
      </td>
    </tr>
    <tr>
      <td
 style="text-align: center; background-color: rgb(65, 77, 104); vertical-align: middle;"><big><span
 style="color: rgb(255, 255, 153); font-weight: bold;">Reference Manual</span></big><br>
      </td>
      <td
 style="text-align: center; background-color: rgb(148, 164, 200); vertical-align: middle;"><small
 style="font-family: helvetica,arial,sans-serif;"><a
 href="../html/index.html">Main Page</a>&nbsp; |&nbsp; <a
 href="../html/namespaces.html">Namespace List</a>&nbsp; |&nbsp; <a
 href="classes.html">Alphabetical List</a>&nbsp; |&nbsp; <a
 href="../html/annotated.html">Class List</a>&nbsp; |&nbsp; <a
 href="../html/files.html">File List</a></small><br>
      </td>
    </tr>
  </tbody>
</table>
<small> </small>
</body>
</html>
<!-- Generated by Doxygen 1.3.8 -->
<h1>region.hh</h1><a href="region_8hh.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">/*  GFC-UI: GTK+ Foundation Classes (User Interface Library)</span>
00002 <span class="comment"> *  Copyright (C) 2002-2004 The GFC Development Team.</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> *  This program is free software; you can redistribute it and/or modify</span>
00005 <span class="comment"> *  it under the terms of the GNU General Public License as published by</span>
00006 <span class="comment"> *  the Free Software Foundation; either version 2 of the License, or</span>
00007 <span class="comment"> *  (at your option) any later version.</span>
00008 <span class="comment"> *</span>
00009 <span class="comment"> *  This program is distributed in the hope that it will be useful,</span>
00010 <span class="comment"> *  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00011 <span class="comment"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
00012 <span class="comment"> *  GNU Library General Public License for more details.</span>
00013 <span class="comment"> *</span>
00014 <span class="comment"> *  You should have received a copy of the GNU Library General Public License</span>
00015 <span class="comment"> *  along with this program; if not, write to the Free Software</span>
00016 <span class="comment"> *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
00017 <span class="comment"> */</span>
00018  
00024 
00025 <span class="preprocessor">#ifndef GFC_GDK_REGION_HH</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define GFC_GDK_REGION_HH</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#ifndef GFC_OBJECT_HH</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="codeRef" doxygen="gfccore.tag:" href="object_8hh.html">gfc/object.hh</a>&gt;</span>
00030 <span class="preprocessor">#endif</span>
00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#ifndef __GDK_REGION_H__</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#include &lt;gdk/gdkregion.h&gt;</span>
00034 <span class="preprocessor">#endif</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#ifndef _CPP_VECTOR</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#include &lt;vector&gt;</span>
00038 <span class="preprocessor">#endif</span>
00039 <span class="preprocessor"></span>
00040 <span class="keyword">namespace </span>GFC {
00041 
00042 <span class="keyword">namespace </span>Gdk {
00043         
00044 <span class="keyword">class </span>Rectangle;
00045 <span class="keyword">class </span>Point;
00046 <span class="keyword">class </span>Span;
00047 
00052 
<a name="l00053"></a><a class="code" href="namespaceGFC_1_1Gdk.html#a276">00053</a> <span class="keyword">enum</span> <a class="code" href="namespaceGFC_1_1Gdk.html#a276">FillRule</a>
00054 {
00055         <a class="code" href="namespaceGFC_1_1Gdk.html#a276a129">EVEN_ODD_RULE</a> = GDK_EVEN_ODD_RULE,
00058 
00059         <a class="code" href="namespaceGFC_1_1Gdk.html#a276a130">WINDING_RULE</a> = GDK_WINDING_RULE
00061 };
00062 
00065 
<a name="l00066"></a><a class="code" href="namespaceGFC_1_1Gdk.html#a277">00066</a> <span class="keyword">enum</span> <a class="code" href="namespaceGFC_1_1Gdk.html#a277">OverlapType</a>
00067 {
00068         <a class="code" href="namespaceGFC_1_1Gdk.html#a277a131">OVERLAP_RECTANGLE_IN</a> = GDK_OVERLAP_RECTANGLE_IN, 
00069         <a class="code" href="namespaceGFC_1_1Gdk.html#a277a132">OVERLAP_RECTANGLE_OUT</a> = GDK_OVERLAP_RECTANGLE_OUT, 
00070         <a class="code" href="namespaceGFC_1_1Gdk.html#a277a133">OVERLAP_RECTANGLE_PART</a> = GDK_OVERLAP_RECTANGLE_PART 
00071 };
00072 
00078 
<a name="l00079"></a><a class="code" href="classGFC_1_1Gdk_1_1Region.html">00079</a> <span class="keyword">class </span><a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a> : <span class="keyword">public</span> GFC::<a class="codeRef" doxygen="gfccore.tag:" href="classGFC_1_1Object.html">Object</a>
00080 {
00081         GdkRegion *region_;
00082 
00083 <span class="keyword">public</span>:
00084         <span class="keyword">typedef</span> sigc::slot&lt;void, GdkSpan*&gt; <a class="code" href="classGFC_1_1Gdk_1_1Region.html#w0">SpansIntersectForeachSlot</a>;
00094 
00097 
00098         <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_0">Region</a>();
00100 
00101         <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_0">Region</a>(<span class="keyword">const</span> std::vector&lt;Point&gt;&amp; points, <a class="code" href="namespaceGFC_1_1Gdk.html#a276">FillRule</a> fill_rule);
00105 
00106         <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_0">Region</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Rectangle.html">Rectangle</a>&amp; rectangle);
00109 
00110         <span class="keyword">explicit</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_0">Region</a>(GdkRegion *region);
00115 
00116         <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_0">Region</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; src);
00119 
00120         <span class="keyword">virtual</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_5">~Region</a>();
00122 
00123         <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z192_6">operator=</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; src);
00126 
00130 
00131         GdkRegion* <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_0">gdk_region</a>() <span class="keyword">const</span>;
00133 
00134         <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_1">operator GdkRegion* </a>() <span class="keyword">const</span>;
00136 
00137         <a class="code" href="classGFC_1_1Gdk_1_1Rectangle.html">Rectangle</a> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_2">get_clipbox</a>() <span class="keyword">const</span>;
00140 
00141         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_2">get_clipbox</a>(<a class="code" href="classGFC_1_1Gdk_1_1Rectangle.html">Rectangle</a>&amp; rectangle) <span class="keyword">const</span>;
00145 
00146         std::vector&lt;Rectangle&gt; <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_4">get_rectangles</a>() <span class="keyword">const</span>;
00149 
00150         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_5">empty</a>() <span class="keyword">const</span>;
00152         
00153         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_6">equal</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other) <span class="keyword">const</span>;
00155         
00156         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_7">point_in</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y) <span class="keyword">const</span>;
00161 
00162         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_7">point_in</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Point.html">Point</a>&amp; point) <span class="keyword">const</span>;
00166 
00167         <a class="code" href="namespaceGFC_1_1Gdk.html#a277">OverlapType</a> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_9">rect_in</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Rectangle.html">Rectangle</a>&amp; rectangle) <span class="keyword">const</span>;
00172 
00173         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_10">operator==</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other) <span class="keyword">const</span>;
00177 
00178         <span class="keywordtype">bool</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z193_11">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other) <span class="keyword">const</span>;
00182 
00186 
00187         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_0">offset</a>(<span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> dy);
00191 
00192         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_1">shrink</a>(<span class="keywordtype">int</span> dx, <span class="keywordtype">int</span> dy);
00198 
00199         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_2">union_with</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Rectangle.html">Rectangle</a>&amp; rectangle);
00204         
00205         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_2">union_with</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other);
00210         
00211         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_4">intersect</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other);
00216 
00217         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_5">subtract</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other);
00222         
00223         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_6">xor_with</a>(<span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html">Region</a>&amp; other);
00228 
00229         <span class="keywordtype">void</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#z194_7">spans_intersect_foreach</a>(<span class="keyword">const</span> std::vector&lt;Span&gt;&amp; spans, <span class="keywordtype">bool</span> sorted, <span class="keyword">const</span> <a class="code" href="classGFC_1_1Gdk_1_1Region.html#w0">SpansIntersectForeachSlot</a>&amp; slot);
00234 
00236 };
00237 
00238 } <span class="comment">// namespace Gdk</span>
00239 
00240 } <span class="comment">// namespace GFC</span>
00241 
00242 <span class="preprocessor">#include &lt;gfc/gdk/inline/region.inl&gt;</span>
00243 
00244 <span class="preprocessor">#endif // GFC_GDK_REGION_HH</span>
00245 <span class="preprocessor"></span>
</div></pre><hr size="1"><address style="align: right;"><small>Generated on Tue Aug 24 00:34:31 2004 for GFC-UI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>