Initialize Tizen 2.3
[framework/graphics/freetype.git] / docs / reference / ft2-glyph_stroker.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6 <title>FreeType-2.4.9 API Reference</title>
7 <style type="text/css">
8   body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
9          color: #000000;
10          background: #FFFFFF; }
11
12   p { text-align: justify; }
13   h1 { text-align: center; }
14   li { text-align: justify; }
15   td { padding: 0 0.5em 0 0.5em; }
16   td.left { padding: 0 0.5em 0 0.5em;
17             text-align: left; }
18
19   a:link { color: #0000EF; }
20   a:visited { color: #51188E; }
21   a:hover { color: #FF0000; }
22
23   span.keyword { font-family: monospace;
24                  text-align: left;
25                  white-space: pre;
26                  color: darkblue; }
27
28   pre.colored { color: blue; }
29
30   ul.empty { list-style-type: none; }
31 </style>
32 </head>
33 <body>
34
35 <table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
36 <td width="100%"></td>
37 <td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
38 <center><h1>FreeType-2.4.9 API Reference</h1></center>
39
40 <center><h1>
41 Glyph Stroker
42 </h1></center>
43 <h2>Synopsis</h2>
44 <table align=center cellspacing=5 cellpadding=0 border=0>
45 <tr><td></td><td><a href="#FT_Stroker">FT_Stroker</a></td><td></td><td><a href="#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td></tr>
46 <tr><td></td><td><a href="#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td></td><td><a href="#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td></tr>
47 <tr><td></td><td><a href="#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td></td><td><a href="#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td></tr>
48 <tr><td></td><td><a href="#FT_StrokerBorder">FT_StrokerBorder</a></td><td></td><td><a href="#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td></tr>
49 <tr><td></td><td><a href="#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td></td><td><a href="#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td></tr>
50 <tr><td></td><td><a href="#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td></td><td><a href="#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td></tr>
51 <tr><td></td><td><a href="#FT_Stroker_New">FT_Stroker_New</a></td><td></td><td><a href="#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td></tr>
52 <tr><td></td><td><a href="#FT_Stroker_Set">FT_Stroker_Set</a></td><td></td><td><a href="#FT_Stroker_Export">FT_Stroker_Export</a></td></tr>
53 <tr><td></td><td><a href="#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td></td><td><a href="#FT_Stroker_Done">FT_Stroker_Done</a></td></tr>
54 <tr><td></td><td><a href="#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td></td><td><a href="#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td></tr>
55 <tr><td></td><td><a href="#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td></td><td><a href="#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td></tr>
56 </table><br><br>
57
58 <table align=center width="87%"><tr><td>
59 <p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the &lsquo;outside&rsquo; and/or the &lsquo;inside&rsquo; borders of the stroke.</p>
60 <p>This can be useful to generate &lsquo;bordered&rsquo; glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.</p>
61 </td></tr></table><br>
62 <table align=center width="75%"><tr><td>
63 <h4><a name="FT_Stroker">FT_Stroker</a></h4>
64 <table align=center width="87%"><tr><td>
65 Defined in FT_STROKER_H (freetype/ftstroke.h).
66 </td></tr></table><br>
67 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
68
69   <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_*  <b>FT_Stroker</b>;
70
71 </pre></table><br>
72 <table align=center width="87%"><tr><td>
73 <p>Opaque handler to a path stroker object.</p>
74 </td></tr></table><br>
75 </td></tr></table>
76 <hr width="75%">
77 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
78 <td width="100%"></td>
79 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
80
81 <table align=center width="75%"><tr><td>
82 <h4><a name="FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></h4>
83 <table align=center width="87%"><tr><td>
84 Defined in FT_STROKER_H (freetype/ftstroke.h).
85 </td></tr></table><br>
86 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
87
88   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Stroker_LineJoin_
89   {
90     <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a>          = 0,
91     <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a>          = 1,
92     <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a> = 2,
93     <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a>          = <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a>,
94     <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a>    = 3
95
96   } <b>FT_Stroker_LineJoin</b>;
97
98 </pre></table><br>
99 <table align=center width="87%"><tr><td>
100 <p>These values determine how two joining lines are rendered in a stroker.</p>
101 </td></tr></table><br>
102 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
103 <p></p>
104 <table cellpadding=3 border=0>
105 <tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_ROUND</b></td></tr>
106 <tr valign=top><td></td><td>
107 <p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p>
108 </td></tr>
109 <tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_BEVEL</b></td></tr>
110 <tr valign=top><td></td><td>
111 <p>Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.</p>
112 </td></tr>
113 <tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER_FIXED</b></td></tr>
114 <tr valign=top><td></td><td>
115 <p>Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an angle (such that the miter would extend from the intersection of the segments a distance greater than the product of the miter limit value and the border radius), then a bevel join (see above) is used instead. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter line join as used in PostScript and PDF.</p>
116 </td></tr>
117 <tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER_VARIABLE</b></td></tr>
118 <tr valign=top><td></td><td>
119 <p></p>
120 </td></tr>
121 <tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER</b></td></tr>
122 <tr valign=top><td></td><td>
123 <p>Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for backwards compatibility.</p>
124 </td></tr>
125 </table>
126 </td></tr></table>
127 </td></tr></table>
128 <hr width="75%">
129 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
130 <td width="100%"></td>
131 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
132
133 <table align=center width="75%"><tr><td>
134 <h4><a name="FT_Stroker_LineCap">FT_Stroker_LineCap</a></h4>
135 <table align=center width="87%"><tr><td>
136 Defined in FT_STROKER_H (freetype/ftstroke.h).
137 </td></tr></table><br>
138 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
139
140   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_Stroker_LineCap_
141   {
142     <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a> = 0,
143     <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a>,
144     <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a>
145
146   } <b>FT_Stroker_LineCap</b>;
147
148 </pre></table><br>
149 <table align=center width="87%"><tr><td>
150 <p>These values determine how the end of opened sub-paths are rendered in a stroke.</p>
151 </td></tr></table><br>
152 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
153 <p></p>
154 <table cellpadding=3 border=0>
155 <tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_BUTT</b></td></tr>
156 <tr valign=top><td></td><td>
157 <p>The end of lines is rendered as a full stop on the last point itself.</p>
158 </td></tr>
159 <tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_ROUND</b></td></tr>
160 <tr valign=top><td></td><td>
161 <p>The end of lines is rendered as a half-circle around the last point.</p>
162 </td></tr>
163 <tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_SQUARE</b></td></tr>
164 <tr valign=top><td></td><td>
165 <p>The end of lines is rendered as a square around the last point.</p>
166 </td></tr>
167 </table>
168 </td></tr></table>
169 </td></tr></table>
170 <hr width="75%">
171 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
172 <td width="100%"></td>
173 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
174
175 <table align=center width="75%"><tr><td>
176 <h4><a name="FT_StrokerBorder">FT_StrokerBorder</a></h4>
177 <table align=center width="87%"><tr><td>
178 Defined in FT_STROKER_H (freetype/ftstroke.h).
179 </td></tr></table><br>
180 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
181
182   <span class="keyword">typedef</span> <span class="keyword">enum</span>  FT_StrokerBorder_
183   {
184     <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> = 0,
185     <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a>
186
187   } <b>FT_StrokerBorder</b>;
188
189 </pre></table><br>
190 <table align=center width="87%"><tr><td>
191 <p>These values are used to select a given stroke border in <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a>.</p>
192 </td></tr></table><br>
193 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
194 <p></p>
195 <table cellpadding=3 border=0>
196 <tr valign=top><td><b>FT_STROKER_BORDER_LEFT</b></td><td>
197 <p>Select the left border, relative to the drawing direction.</p>
198 </td></tr>
199 <tr valign=top><td colspan=0><b>FT_STROKER_BORDER_RIGHT</b></td></tr>
200 <tr valign=top><td></td><td>
201 <p>Select the right border, relative to the drawing direction.</p>
202 </td></tr>
203 </table>
204 </td></tr></table>
205 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
206 <p>Applications are generally interested in the &lsquo;inside&rsquo; and &lsquo;outside&rsquo; borders. However, there is no direct mapping between these and the &lsquo;left&rsquo; and &lsquo;right&rsquo; ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p>
207 <p>You can however use <a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a> and <a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a> to get these.</p>
208 </td></tr></table>
209 </td></tr></table>
210 <hr width="75%">
211 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
212 <td width="100%"></td>
213 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
214
215 <table align=center width="75%"><tr><td>
216 <h4><a name="FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></h4>
217 <table align=center width="87%"><tr><td>
218 Defined in FT_STROKER_H (freetype/ftstroke.h).
219 </td></tr></table><br>
220 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
221
222   FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> )
223   <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>*  outline );
224
225 </pre></table><br>
226 <table align=center width="87%"><tr><td>
227 <p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the &lsquo;inside&rsquo; borders of a given outline.</p>
228 </td></tr></table><br>
229 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
230 <p></p>
231 <table cellpadding=3 border=0>
232 <tr valign=top><td><b>outline</b></td><td>
233 <p>The source outline handle.</p>
234 </td></tr>
235 </table>
236 </td></tr></table>
237 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
238 <p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> for empty or invalid outlines.</p>
239 </td></tr></table>
240 </td></tr></table>
241 <hr width="75%">
242 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
243 <td width="100%"></td>
244 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
245
246 <table align=center width="75%"><tr><td>
247 <h4><a name="FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></h4>
248 <table align=center width="87%"><tr><td>
249 Defined in FT_STROKER_H (freetype/ftstroke.h).
250 </td></tr></table><br>
251 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
252
253   FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> )
254   <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>*  outline );
255
256 </pre></table><br>
257 <table align=center width="87%"><tr><td>
258 <p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the &lsquo;outside&rsquo; borders of a given outline.</p>
259 </td></tr></table><br>
260 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
261 <p></p>
262 <table cellpadding=3 border=0>
263 <tr valign=top><td><b>outline</b></td><td>
264 <p>The source outline handle.</p>
265 </td></tr>
266 </table>
267 </td></tr></table>
268 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
269 <p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> for empty or invalid outlines.</p>
270 </td></tr></table>
271 </td></tr></table>
272 <hr width="75%">
273 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
274 <td width="100%"></td>
275 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
276
277 <table align=center width="75%"><tr><td>
278 <h4><a name="FT_Stroker_New">FT_Stroker_New</a></h4>
279 <table align=center width="87%"><tr><td>
280 Defined in FT_STROKER_H (freetype/ftstroke.h).
281 </td></tr></table><br>
282 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
283
284   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
285   <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a>   library,
286                   <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  *astroker );
287
288 </pre></table><br>
289 <table align=center width="87%"><tr><td>
290 <p>Create a new stroker object.</p>
291 </td></tr></table><br>
292 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
293 <p></p>
294 <table cellpadding=3 border=0>
295 <tr valign=top><td><b>library</b></td><td>
296 <p>FreeType library handle.</p>
297 </td></tr>
298 </table>
299 </td></tr></table>
300 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
301 <p></p>
302 <table cellpadding=3 border=0>
303 <tr valign=top><td><b>astroker</b></td><td>
304 <p>A new stroker object handle. NULL in case of error.</p>
305 </td></tr>
306 </table>
307 </td></tr></table>
308 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
309 <p>FreeType error code. 0&nbsp;means success.</p>
310 </td></tr></table>
311 </td></tr></table>
312 <hr width="75%">
313 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
314 <td width="100%"></td>
315 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
316
317 <table align=center width="75%"><tr><td>
318 <h4><a name="FT_Stroker_Set">FT_Stroker_Set</a></h4>
319 <table align=center width="87%"><tr><td>
320 Defined in FT_STROKER_H (freetype/ftstroke.h).
321 </td></tr></table><br>
322 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
323
324   FT_EXPORT( <span class="keyword">void</span> )
325   <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>           stroker,
326                   <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>             radius,
327                   <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a>   line_cap,
328                   <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a>  line_join,
329                   <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>             miter_limit );
330
331 </pre></table><br>
332 <table align=center width="87%"><tr><td>
333 <p>Reset a stroker object's attributes.</p>
334 </td></tr></table><br>
335 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
336 <p></p>
337 <table cellpadding=3 border=0>
338 <tr valign=top><td><b>stroker</b></td><td>
339 <p>The target stroker handle.</p>
340 </td></tr>
341 <tr valign=top><td><b>radius</b></td><td>
342 <p>The border radius.</p>
343 </td></tr>
344 <tr valign=top><td><b>line_cap</b></td><td>
345 <p>The line cap style.</p>
346 </td></tr>
347 <tr valign=top><td><b>line_join</b></td><td>
348 <p>The line join style.</p>
349 </td></tr>
350 <tr valign=top><td><b>miter_limit</b></td><td>
351 <p>The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, expressed as 16.16 fixed point value.</p>
352 </td></tr>
353 </table>
354 </td></tr></table>
355 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
356 <p>The radius is expressed in the same units as the outline coordinates.</p>
357 </td></tr></table>
358 </td></tr></table>
359 <hr width="75%">
360 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
361 <td width="100%"></td>
362 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
363
364 <table align=center width="75%"><tr><td>
365 <h4><a name="FT_Stroker_Rewind">FT_Stroker_Rewind</a></h4>
366 <table align=center width="87%"><tr><td>
367 Defined in FT_STROKER_H (freetype/ftstroke.h).
368 </td></tr></table><br>
369 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
370
371   FT_EXPORT( <span class="keyword">void</span> )
372   <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker );
373
374 </pre></table><br>
375 <table align=center width="87%"><tr><td>
376 <p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> or <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
377 </td></tr></table><br>
378 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
379 <p></p>
380 <table cellpadding=3 border=0>
381 <tr valign=top><td><b>stroker</b></td><td>
382 <p>The target stroker handle.</p>
383 </td></tr>
384 </table>
385 </td></tr></table>
386 </td></tr></table>
387 <hr width="75%">
388 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
389 <td width="100%"></td>
390 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
391
392 <table align=center width="75%"><tr><td>
393 <h4><a name="FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></h4>
394 <table align=center width="87%"><tr><td>
395 Defined in FT_STROKER_H (freetype/ftstroke.h).
396 </td></tr></table><br>
397 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
398
399   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
400   <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>   stroker,
401                            <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>*  outline,
402                            <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>      opened );
403
404 </pre></table><br>
405 <table align=center width="87%"><tr><td>
406 <p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a>.</p>
407 </td></tr></table><br>
408 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
409 <p></p>
410 <table cellpadding=3 border=0>
411 <tr valign=top><td><b>stroker</b></td><td>
412 <p>The target stroker handle.</p>
413 </td></tr>
414 <tr valign=top><td><b>outline</b></td><td>
415 <p>The source outline.</p>
416 </td></tr>
417 <tr valign=top><td><b>opened</b></td><td>
418 <p>A boolean. If&nbsp;1, the outline is treated as an open path instead of a closed one.</p>
419 </td></tr>
420 </table>
421 </td></tr></table>
422 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
423 <p>FreeType error code. 0&nbsp;means success.</p>
424 </td></tr></table>
425 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
426 <p>If &lsquo;opened&rsquo; is&nbsp;0 (the default), the outline is treated as a closed path, and the stroker generates two distinct &lsquo;border&rsquo; outlines.</p>
427 <p>If &lsquo;opened&rsquo; is&nbsp;1, the outline is processed as an open path, and the stroker generates a single &lsquo;stroke&rsquo; outline.</p>
428 <p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</p>
429 </td></tr></table>
430 </td></tr></table>
431 <hr width="75%">
432 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
433 <td width="100%"></td>
434 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
435
436 <table align=center width="75%"><tr><td>
437 <h4><a name="FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></h4>
438 <table align=center width="87%"><tr><td>
439 Defined in FT_STROKER_H (freetype/ftstroke.h).
440 </td></tr></table><br>
441 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
442
443   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
444   <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker,
445                            <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  to,
446                            <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>     open );
447
448 </pre></table><br>
449 <table align=center width="87%"><tr><td>
450 <p>Start a new sub-path in the stroker.</p>
451 </td></tr></table><br>
452 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
453 <p></p>
454 <table cellpadding=3 border=0>
455 <tr valign=top><td><b>stroker</b></td><td>
456 <p>The target stroker handle.</p>
457 </td></tr>
458 <tr valign=top><td><b>to</b></td><td>
459 <p>A pointer to the start vector.</p>
460 </td></tr>
461 <tr valign=top><td><b>open</b></td><td>
462 <p>A boolean. If&nbsp;1, the sub-path is treated as an open one.</p>
463 </td></tr>
464 </table>
465 </td></tr></table>
466 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
467 <p>FreeType error code. 0&nbsp;means success.</p>
468 </td></tr></table>
469 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
470 <p>This function is useful when you need to stroke a path that is not stored as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object.</p>
471 </td></tr></table>
472 </td></tr></table>
473 <hr width="75%">
474 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
475 <td width="100%"></td>
476 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
477
478 <table align=center width="75%"><tr><td>
479 <h4><a name="FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></h4>
480 <table align=center width="87%"><tr><td>
481 Defined in FT_STROKER_H (freetype/ftstroke.h).
482 </td></tr></table><br>
483 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
484
485   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
486   <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker );
487
488 </pre></table><br>
489 <table align=center width="87%"><tr><td>
490 <p>Close the current sub-path in the stroker.</p>
491 </td></tr></table><br>
492 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
493 <p></p>
494 <table cellpadding=3 border=0>
495 <tr valign=top><td><b>stroker</b></td><td>
496 <p>The target stroker handle.</p>
497 </td></tr>
498 </table>
499 </td></tr></table>
500 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
501 <p>FreeType error code. 0&nbsp;means success.</p>
502 </td></tr></table>
503 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
504 <p>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not &lsquo;opened&rsquo;, this function &lsquo;draws&rsquo; a single line segment to the start position when needed.</p>
505 </td></tr></table>
506 </td></tr></table>
507 <hr width="75%">
508 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
509 <td width="100%"></td>
510 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
511
512 <table align=center width="75%"><tr><td>
513 <h4><a name="FT_Stroker_LineTo">FT_Stroker_LineTo</a></h4>
514 <table align=center width="87%"><tr><td>
515 Defined in FT_STROKER_H (freetype/ftstroke.h).
516 </td></tr></table><br>
517 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
518
519   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
520   <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker,
521                      <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  to );
522
523 </pre></table><br>
524 <table align=center width="87%"><tr><td>
525 <p>&lsquo;Draw&rsquo; a single line segment in the stroker's current sub-path, from the last position.</p>
526 </td></tr></table><br>
527 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
528 <p></p>
529 <table cellpadding=3 border=0>
530 <tr valign=top><td><b>stroker</b></td><td>
531 <p>The target stroker handle.</p>
532 </td></tr>
533 <tr valign=top><td><b>to</b></td><td>
534 <p>A pointer to the destination point.</p>
535 </td></tr>
536 </table>
537 </td></tr></table>
538 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
539 <p>FreeType error code. 0&nbsp;means success.</p>
540 </td></tr></table>
541 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
542 <p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
543 </td></tr></table>
544 </td></tr></table>
545 <hr width="75%">
546 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
547 <td width="100%"></td>
548 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
549
550 <table align=center width="75%"><tr><td>
551 <h4><a name="FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></h4>
552 <table align=center width="87%"><tr><td>
553 Defined in FT_STROKER_H (freetype/ftstroke.h).
554 </td></tr></table><br>
555 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
556
557   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
558   <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker,
559                       <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  control,
560                       <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  to );
561
562 </pre></table><br>
563 <table align=center width="87%"><tr><td>
564 <p>&lsquo;Draw&rsquo; a single quadratic Bézier in the stroker's current sub-path, from the last position.</p>
565 </td></tr></table><br>
566 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
567 <p></p>
568 <table cellpadding=3 border=0>
569 <tr valign=top><td><b>stroker</b></td><td>
570 <p>The target stroker handle.</p>
571 </td></tr>
572 <tr valign=top><td><b>control</b></td><td>
573 <p>A pointer to a Bézier control point.</p>
574 </td></tr>
575 <tr valign=top><td><b>to</b></td><td>
576 <p>A pointer to the destination point.</p>
577 </td></tr>
578 </table>
579 </td></tr></table>
580 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
581 <p>FreeType error code. 0&nbsp;means success.</p>
582 </td></tr></table>
583 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
584 <p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
585 </td></tr></table>
586 </td></tr></table>
587 <hr width="75%">
588 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
589 <td width="100%"></td>
590 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
591
592 <table align=center width="75%"><tr><td>
593 <h4><a name="FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></h4>
594 <table align=center width="87%"><tr><td>
595 Defined in FT_STROKER_H (freetype/ftstroke.h).
596 </td></tr></table><br>
597 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
598
599   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
600   <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker,
601                       <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  control1,
602                       <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  control2,
603                       <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>*  to );
604
605 </pre></table><br>
606 <table align=center width="87%"><tr><td>
607 <p>&lsquo;Draw&rsquo; a single cubic Bézier in the stroker's current sub-path, from the last position.</p>
608 </td></tr></table><br>
609 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
610 <p></p>
611 <table cellpadding=3 border=0>
612 <tr valign=top><td><b>stroker</b></td><td>
613 <p>The target stroker handle.</p>
614 </td></tr>
615 <tr valign=top><td><b>control1</b></td><td>
616 <p>A pointer to the first Bézier control point.</p>
617 </td></tr>
618 <tr valign=top><td><b>control2</b></td><td>
619 <p>A pointer to second Bézier control point.</p>
620 </td></tr>
621 <tr valign=top><td><b>to</b></td><td>
622 <p>A pointer to the destination point.</p>
623 </td></tr>
624 </table>
625 </td></tr></table>
626 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
627 <p>FreeType error code. 0&nbsp;means success.</p>
628 </td></tr></table>
629 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
630 <p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
631 </td></tr></table>
632 </td></tr></table>
633 <hr width="75%">
634 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
635 <td width="100%"></td>
636 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
637
638 <table align=center width="75%"><tr><td>
639 <h4><a name="FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></h4>
640 <table align=center width="87%"><tr><td>
641 Defined in FT_STROKER_H (freetype/ftstroke.h).
642 </td></tr></table><br>
643 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
644
645   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
646   <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>        stroker,
647                               <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a>  border,
648                               <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>          *anum_points,
649                               <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>          *anum_contours );
650
651 </pre></table><br>
652 <table align=center width="87%"><tr><td>
653 <p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the &lsquo;border&rsquo; or &lsquo;stroke&rsquo; outlines generated by the stroker.</p>
654 </td></tr></table><br>
655 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
656 <p></p>
657 <table cellpadding=3 border=0>
658 <tr valign=top><td><b>stroker</b></td><td>
659 <p>The target stroker handle.</p>
660 </td></tr>
661 <tr valign=top><td><b>border</b></td><td>
662 <p>The border index.</p>
663 </td></tr>
664 </table>
665 </td></tr></table>
666 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
667 <p></p>
668 <table cellpadding=3 border=0>
669 <tr valign=top><td><b>anum_points</b></td><td>
670 <p>The number of points.</p>
671 </td></tr>
672 <tr valign=top><td><b>anum_contours</b></td><td>
673 <p>The number of contours.</p>
674 </td></tr>
675 </table>
676 </td></tr></table>
677 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
678 <p>FreeType error code. 0&nbsp;means success.</p>
679 </td></tr></table>
680 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
681 <p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
682 <p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
683 <p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> instead if you want to retrieve the counts associated to both borders.</p>
684 </td></tr></table>
685 </td></tr></table>
686 <hr width="75%">
687 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
688 <td width="100%"></td>
689 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
690
691 <table align=center width="75%"><tr><td>
692 <h4><a name="FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></h4>
693 <table align=center width="87%"><tr><td>
694 Defined in FT_STROKER_H (freetype/ftstroke.h).
695 </td></tr></table><br>
696 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
697
698   FT_EXPORT( <span class="keyword">void</span> )
699   <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>        stroker,
700                            <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a>  border,
701                            <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>*       outline );
702
703 </pre></table><br>
704 <table align=center width="87%"><tr><td>
705 <p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the corresponding border to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p>
706 <p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
707 </td></tr></table><br>
708 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
709 <p></p>
710 <table cellpadding=3 border=0>
711 <tr valign=top><td><b>stroker</b></td><td>
712 <p>The target stroker handle.</p>
713 </td></tr>
714 <tr valign=top><td><b>border</b></td><td>
715 <p>The border index.</p>
716 </td></tr>
717 <tr valign=top><td><b>outline</b></td><td>
718 <p>The target outline handle.</p>
719 </td></tr>
720 </table>
721 </td></tr></table>
722 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
723 <p>Always call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to get sure that there is enough room in your <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object to receive all new data.</p>
724 <p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;</p>
725 <p>When the outline, or a sub-path, is &lsquo;opened&rsquo;, the stroker merges the &lsquo;border&rsquo; outlines with caps. The &lsquo;left&rsquo; border receives all points, while the &lsquo;right&rsquo; border becomes empty.</p>
726 <p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a> instead if you want to retrieve all borders at once.</p>
727 </td></tr></table>
728 </td></tr></table>
729 <hr width="75%">
730 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
731 <td width="100%"></td>
732 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
733
734 <table align=center width="75%"><tr><td>
735 <h4><a name="FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></h4>
736 <table align=center width="87%"><tr><td>
737 Defined in FT_STROKER_H (freetype/ftstroke.h).
738 </td></tr></table><br>
739 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
740
741   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
742   <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker,
743                         <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>    *anum_points,
744                         <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>    *anum_contours );
745
746 </pre></table><br>
747 <table align=center width="87%"><tr><td>
748 <p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</p>
749 </td></tr></table><br>
750 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
751 <p></p>
752 <table cellpadding=3 border=0>
753 <tr valign=top><td><b>stroker</b></td><td>
754 <p>The target stroker handle.</p>
755 </td></tr>
756 </table>
757 </td></tr></table>
758 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
759 <p></p>
760 <table cellpadding=3 border=0>
761 <tr valign=top><td><b>anum_points</b></td><td>
762 <p>The number of points.</p>
763 </td></tr>
764 <tr valign=top><td><b>anum_contours</b></td><td>
765 <p>The number of contours.</p>
766 </td></tr>
767 </table>
768 </td></tr></table>
769 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
770 <p>FreeType error code. 0&nbsp;means success.</p>
771 </td></tr></table>
772 </td></tr></table>
773 <hr width="75%">
774 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
775 <td width="100%"></td>
776 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
777
778 <table align=center width="75%"><tr><td>
779 <h4><a name="FT_Stroker_Export">FT_Stroker_Export</a></h4>
780 <table align=center width="87%"><tr><td>
781 Defined in FT_STROKER_H (freetype/ftstroke.h).
782 </td></tr></table><br>
783 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
784
785   FT_EXPORT( <span class="keyword">void</span> )
786   <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>   stroker,
787                      <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>*  outline );
788
789 </pre></table><br>
790 <table align=center width="87%"><tr><td>
791 <p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export all borders to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p>
792 <p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
793 </td></tr></table><br>
794 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
795 <p></p>
796 <table cellpadding=3 border=0>
797 <tr valign=top><td><b>stroker</b></td><td>
798 <p>The target stroker handle.</p>
799 </td></tr>
800 <tr valign=top><td><b>outline</b></td><td>
801 <p>The target outline handle.</p>
802 </td></tr>
803 </table>
804 </td></tr></table>
805 </td></tr></table>
806 <hr width="75%">
807 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
808 <td width="100%"></td>
809 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
810
811 <table align=center width="75%"><tr><td>
812 <h4><a name="FT_Stroker_Done">FT_Stroker_Done</a></h4>
813 <table align=center width="87%"><tr><td>
814 Defined in FT_STROKER_H (freetype/ftstroke.h).
815 </td></tr></table><br>
816 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
817
818   FT_EXPORT( <span class="keyword">void</span> )
819   <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>  stroker );
820
821 </pre></table><br>
822 <table align=center width="87%"><tr><td>
823 <p>Destroy a stroker object.</p>
824 </td></tr></table><br>
825 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
826 <p></p>
827 <table cellpadding=3 border=0>
828 <tr valign=top><td><b>stroker</b></td><td>
829 <p>A stroker handle. Can be NULL.</p>
830 </td></tr>
831 </table>
832 </td></tr></table>
833 </td></tr></table>
834 <hr width="75%">
835 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
836 <td width="100%"></td>
837 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
838
839 <table align=center width="75%"><tr><td>
840 <h4><a name="FT_Glyph_Stroke">FT_Glyph_Stroke</a></h4>
841 <table align=center width="87%"><tr><td>
842 Defined in FT_STROKER_H (freetype/ftstroke.h).
843 </td></tr></table><br>
844 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
845
846   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
847   <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>    *pglyph,
848                    <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>   stroker,
849                    <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>      destroy );
850
851 </pre></table><br>
852 <table align=center width="87%"><tr><td>
853 <p>Stroke a given outline glyph object with a given stroker.</p>
854 </td></tr></table><br>
855 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
856 <p></p>
857 <table cellpadding=3 border=0>
858 <tr valign=top><td><b>pglyph</b></td><td>
859 <p>Source glyph handle on input, new glyph handle on output.</p>
860 </td></tr>
861 </table>
862 </td></tr></table>
863 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
864 <p></p>
865 <table cellpadding=3 border=0>
866 <tr valign=top><td><b>stroker</b></td><td>
867 <p>A stroker handle.</p>
868 </td></tr>
869 <tr valign=top><td><b>destroy</b></td><td>
870 <p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
871 </td></tr>
872 </table>
873 </td></tr></table>
874 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
875 <p>FreeType error code. 0&nbsp;means success.</p>
876 </td></tr></table>
877 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
878 <p>The source glyph is untouched in case of error.</p>
879 </td></tr></table>
880 </td></tr></table>
881 <hr width="75%">
882 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
883 <td width="100%"></td>
884 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
885
886 <table align=center width="75%"><tr><td>
887 <h4><a name="FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></h4>
888 <table align=center width="87%"><tr><td>
889 Defined in FT_STROKER_H (freetype/ftstroke.h).
890 </td></tr></table><br>
891 <table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
892
893   FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
894   <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>    *pglyph,
895                          <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a>   stroker,
896                          <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>      inside,
897                          <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>      destroy );
898
899 </pre></table><br>
900 <table align=center width="87%"><tr><td>
901 <p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p>
902 </td></tr></table><br>
903 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
904 <p></p>
905 <table cellpadding=3 border=0>
906 <tr valign=top><td><b>pglyph</b></td><td>
907 <p>Source glyph handle on input, new glyph handle on output.</p>
908 </td></tr>
909 </table>
910 </td></tr></table>
911 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
912 <p></p>
913 <table cellpadding=3 border=0>
914 <tr valign=top><td><b>stroker</b></td><td>
915 <p>A stroker handle.</p>
916 </td></tr>
917 <tr valign=top><td><b>inside</b></td><td>
918 <p>A Boolean. If&nbsp;1, return the inside border, otherwise the outside border.</p>
919 </td></tr>
920 <tr valign=top><td><b>destroy</b></td><td>
921 <p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
922 </td></tr>
923 </table>
924 </td></tr></table>
925 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
926 <p>FreeType error code. 0&nbsp;means success.</p>
927 </td></tr></table>
928 <table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
929 <p>The source glyph is untouched in case of error.</p>
930 </td></tr></table>
931 </td></tr></table>
932 <hr width="75%">
933 <table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
934 <td width="100%"></td>
935 <td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
936
937 </body>
938 </html>