cairo 1.14.1-x64-mingw32 → 1.14.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (215) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +21 -0
  3. data/Rakefile +17 -6
  4. data/ext/cairo/cairo.def +1 -0
  5. data/ext/cairo/extconf.rb +23 -10
  6. data/ext/cairo/rb_cairo.c +3 -0
  7. data/ext/cairo/rb_cairo.h +3 -3
  8. data/ext/cairo/rb_cairo_context.c +1 -1
  9. data/ext/cairo/rb_cairo_io.c +4 -0
  10. data/ext/cairo/rb_cairo_io.h +2 -0
  11. data/ext/cairo/rb_cairo_pattern.c +4 -4
  12. data/ext/cairo/rb_cairo_private.h +2 -0
  13. data/ext/cairo/rb_cairo_surface.c +64 -232
  14. data/lib/2.0/cairo.so +0 -0
  15. data/lib/2.1/cairo.so +0 -0
  16. data/lib/2.2/cairo.so +0 -0
  17. data/lib/cairo.rb +20 -19
  18. data/lib/cairo/region.rb +14 -0
  19. data/test/test_region.rb +26 -0
  20. data/vendor/local/bin/fc-cache.exe +0 -0
  21. data/vendor/local/bin/fc-cat.exe +0 -0
  22. data/vendor/local/bin/fc-list.exe +0 -0
  23. data/vendor/local/bin/fc-match.exe +0 -0
  24. data/vendor/local/bin/fc-pattern.exe +0 -0
  25. data/vendor/local/bin/fc-query.exe +0 -0
  26. data/vendor/local/bin/fc-scan.exe +0 -0
  27. data/vendor/local/bin/fc-validate.exe +0 -0
  28. data/vendor/local/bin/freetype-config +2 -2
  29. data/vendor/local/bin/libcairo-2.dll +0 -0
  30. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  31. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  32. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  33. data/vendor/local/bin/libfreetype-6.dll +0 -0
  34. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  35. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  36. data/vendor/local/bin/libpng-config +1 -1
  37. data/vendor/local/bin/libpng16-16.dll +0 -0
  38. data/vendor/local/bin/libpng16-config +1 -1
  39. data/vendor/local/bin/libstdc++-6.dll +0 -0
  40. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  41. data/vendor/local/bin/libxml2-2.dll +0 -0
  42. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  43. data/vendor/local/bin/pngfix.exe +0 -0
  44. data/vendor/local/bin/xmlcatalog.exe +0 -0
  45. data/vendor/local/bin/xmllint.exe +0 -0
  46. data/vendor/local/bin/zlib1.dll +0 -0
  47. data/vendor/local/include/cairo/cairo-version.h +1 -1
  48. data/vendor/local/include/freetype2/config/ftconfig.h +19 -2
  49. data/vendor/local/include/freetype2/config/ftheader.h +7 -5
  50. data/vendor/local/include/freetype2/config/ftoption.h +9 -22
  51. data/vendor/local/include/freetype2/config/ftstdlib.h +2 -3
  52. data/vendor/local/include/freetype2/freetype.h +38 -17
  53. data/vendor/local/include/freetype2/ft2build.h +1 -1
  54. data/vendor/local/include/freetype2/ftadvanc.h +2 -2
  55. data/vendor/local/include/freetype2/ftautoh.h +50 -2
  56. data/vendor/local/include/freetype2/ftbbox.h +1 -1
  57. data/vendor/local/include/freetype2/ftbdf.h +1 -1
  58. data/vendor/local/include/freetype2/ftbitmap.h +11 -3
  59. data/vendor/local/include/freetype2/ftbzip2.h +1 -1
  60. data/vendor/local/include/freetype2/ftcache.h +3 -3
  61. data/vendor/local/include/freetype2/ftcffdrv.h +1 -1
  62. data/vendor/local/include/freetype2/ftcid.h +2 -1
  63. data/vendor/local/include/freetype2/fterrdef.h +1 -1
  64. data/vendor/local/include/freetype2/fterrors.h +1 -1
  65. data/vendor/local/include/freetype2/{ftxf86.h → ftfntfmt.h} +22 -14
  66. data/vendor/local/include/freetype2/ftgasp.h +1 -1
  67. data/vendor/local/include/freetype2/ftglyph.h +1 -1
  68. data/vendor/local/include/freetype2/ftgxval.h +1 -1
  69. data/vendor/local/include/freetype2/ftgzip.h +1 -1
  70. data/vendor/local/include/freetype2/ftimage.h +7 -13
  71. data/vendor/local/include/freetype2/ftincrem.h +1 -1
  72. data/vendor/local/include/freetype2/ftlcdfil.h +2 -2
  73. data/vendor/local/include/freetype2/ftlist.h +1 -1
  74. data/vendor/local/include/freetype2/ftlzw.h +1 -1
  75. data/vendor/local/include/freetype2/ftmac.h +1 -1
  76. data/vendor/local/include/freetype2/ftmm.h +17 -11
  77. data/vendor/local/include/freetype2/ftmodapi.h +4 -2
  78. data/vendor/local/include/freetype2/ftmoderr.h +1 -1
  79. data/vendor/local/include/freetype2/ftotval.h +1 -1
  80. data/vendor/local/include/freetype2/ftoutln.h +1 -1
  81. data/vendor/local/include/freetype2/ftpfr.h +1 -1
  82. data/vendor/local/include/freetype2/ftrender.h +3 -8
  83. data/vendor/local/include/freetype2/ftsizes.h +1 -1
  84. data/vendor/local/include/freetype2/ftsnames.h +1 -1
  85. data/vendor/local/include/freetype2/ftstroke.h +1 -1
  86. data/vendor/local/include/freetype2/ftsynth.h +5 -3
  87. data/vendor/local/include/freetype2/ftsystem.h +10 -1
  88. data/vendor/local/include/freetype2/fttrigon.h +1 -1
  89. data/vendor/local/include/freetype2/ftttdrv.h +85 -22
  90. data/vendor/local/include/freetype2/fttypes.h +1 -1
  91. data/vendor/local/include/freetype2/ftwinfnt.h +3 -3
  92. data/vendor/local/include/freetype2/t1tables.h +4 -3
  93. data/vendor/local/include/freetype2/ttnameid.h +116 -116
  94. data/vendor/local/include/freetype2/tttables.h +2 -2
  95. data/vendor/local/include/freetype2/tttags.h +1 -1
  96. data/vendor/local/include/freetype2/ttunpat.h +1 -1
  97. data/vendor/local/include/libpng16/png.h +63 -80
  98. data/vendor/local/include/libpng16/pngconf.h +8 -30
  99. data/vendor/local/include/libpng16/pnglibconf.h +10 -4
  100. data/vendor/local/include/png.h +63 -80
  101. data/vendor/local/include/pngconf.h +8 -30
  102. data/vendor/local/include/pnglibconf.h +10 -4
  103. data/vendor/local/lib/libcairo-gobject.a +0 -0
  104. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  105. data/vendor/local/lib/libcairo-gobject.la +2 -2
  106. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  107. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  108. data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
  109. data/vendor/local/lib/libcairo.a +0 -0
  110. data/vendor/local/lib/libcairo.dll.a +0 -0
  111. data/vendor/local/lib/libcairo.la +2 -2
  112. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  113. data/vendor/local/lib/libfreetype.a +0 -0
  114. data/vendor/local/lib/libfreetype.dll.a +0 -0
  115. data/vendor/local/lib/libfreetype.la +4 -4
  116. data/vendor/local/lib/libpixman-1.a +0 -0
  117. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  118. data/vendor/local/lib/libpng.a +0 -0
  119. data/vendor/local/lib/libpng.dll.a +0 -0
  120. data/vendor/local/lib/libpng.la +4 -4
  121. data/vendor/local/lib/libpng16.a +0 -0
  122. data/vendor/local/lib/libpng16.dll.a +0 -0
  123. data/vendor/local/lib/libpng16.la +4 -4
  124. data/vendor/local/lib/libxml2.a +0 -0
  125. data/vendor/local/lib/libxml2.dll.a +0 -0
  126. data/vendor/local/lib/libz.a +0 -0
  127. data/vendor/local/lib/libz.dll.a +0 -0
  128. data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
  129. data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
  130. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
  132. data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
  133. data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
  134. data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
  135. data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
  136. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
  137. data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
  142. data/vendor/local/share/aclocal/freetype2.m4 +1 -1
  143. data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +12 -12
  144. data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +12 -12
  145. data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +12 -12
  146. data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +13 -13
  147. data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +12 -12
  148. data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +35 -35
  149. data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +10 -10
  150. data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +11 -11
  151. data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +13 -13
  152. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +294 -225
  153. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +387 -269
  154. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +432 -302
  155. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +325 -217
  156. data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +298 -193
  157. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +1121 -812
  158. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +513 -383
  159. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +126 -83
  160. data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +172 -119
  161. data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +581 -372
  162. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +179 -130
  163. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +888 -539
  164. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +287 -192
  165. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +374 -231
  166. data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +395 -219
  167. data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +125 -75
  168. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +630 -464
  169. data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +225 -200
  170. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +336 -214
  171. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +277 -186
  172. data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +495 -350
  173. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +557 -362
  174. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +158 -111
  175. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +655 -441
  176. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +389 -280
  177. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +667 -451
  178. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +579 -351
  179. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +2006 -1545
  180. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +892 -618
  181. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +1624 -1188
  182. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +2903 -2104
  183. data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +13 -13
  184. data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +13 -13
  185. data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +13 -13
  186. data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +13 -13
  187. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +1115 -758
  188. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +419 -604
  189. data/vendor/local/share/gtk-doc/html/cairo/home.png +0 -0
  190. data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +56 -56
  191. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +70 -70
  192. data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +58 -58
  193. data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +39 -39
  194. data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +30 -30
  195. data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +38 -38
  196. data/vendor/local/share/gtk-doc/html/cairo/index-all.html +426 -426
  197. data/vendor/local/share/gtk-doc/html/cairo/index.html +6 -6
  198. data/vendor/local/share/gtk-doc/html/cairo/index.sgml +234 -325
  199. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +12 -12
  200. data/vendor/local/share/gtk-doc/html/cairo/left-insensitive.png +0 -0
  201. data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
  202. data/vendor/local/share/gtk-doc/html/cairo/right-insensitive.png +0 -0
  203. data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
  204. data/vendor/local/share/gtk-doc/html/cairo/style.css +221 -26
  205. data/vendor/local/share/gtk-doc/html/cairo/up-insensitive.png +0 -0
  206. data/vendor/local/share/gtk-doc/html/cairo/up.png +0 -0
  207. data/vendor/local/share/license/cairo/README +1 -1
  208. data/vendor/local/share/license/freetype/README +6 -6
  209. data/vendor/local/share/license/freetype/README.git +1 -1
  210. data/vendor/local/share/license/libpng/README +2 -2
  211. data/vendor/local/share/man/man1/freetype-config.1 +1 -1
  212. data/vendor/local/share/man/man3/libpng.3 +85 -92
  213. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  214. data/vendor/local/share/man/man5/png.5 +1 -1
  215. metadata +23 -19
@@ -2,30 +2,27 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
- <title>cairo_scaled_font_t</title>
6
- <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
5
+ <title>Cairo: A Vector Graphics Library: cairo_scaled_font_t</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
  <link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
8
8
  <link rel="up" href="cairo-fonts.html" title="Fonts">
9
9
  <link rel="prev" href="cairo-cairo-font-face-t.html" title="cairo_font_face_t">
10
10
  <link rel="next" href="cairo-cairo-font-options-t.html" title="cairo_font_options_t">
11
- <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11
+ <meta name="generator" content="GTK-Doc V1.20 (XML mode)">
12
12
  <link rel="stylesheet" href="style.css" type="text/css">
13
13
  </head>
14
14
  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
- <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16
- <tr valign="middle">
17
- <td><a accesskey="p" href="cairo-cairo-font-face-t.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18
- <td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19
- <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20
- <th width="100%" align="center">Cairo: A Vector Graphics Library</th>
21
- <td><a accesskey="n" href="cairo-cairo-font-options-t.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
- </tr>
23
- <tr><td colspan="5" class="shortcuts">
24
- <a href="#cairo-cairo-scaled-font-t.synopsis" class="shortcut">Top</a>
25
-  | 
26
- <a href="#cairo-cairo-scaled-font-t.description" class="shortcut">Description</a>
27
- </td></tr>
28
- </table>
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 
18
+ <a href="#cairo-cairo-scaled-font-t.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
19
+ <a href="#cairo-cairo-scaled-font-t.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20
+ </td>
21
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22
+ <td><a accesskey="u" href="cairo-fonts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
+ <td><a accesskey="p" href="cairo-cairo-font-face-t.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
+ <td><a accesskey="n" href="cairo-cairo-font-options-t.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25
+ </tr></table>
29
26
  <div class="refentry">
30
27
  <a name="cairo-cairo-scaled-font-t"></a><div class="titlepage"></div>
31
28
  <div class="refnamediv"><table width="100%"><tr>
@@ -33,505 +30,527 @@
33
30
  <h2><span class="refentrytitle"><a name="cairo-cairo-scaled-font-t.top_of_page"></a>cairo_scaled_font_t</span></h2>
34
31
  <p>cairo_scaled_font_t — Font face at particular size and options</p>
35
32
  </td>
36
- <td valign="top" align="right"></td>
33
+ <td class="gallery_image" valign="top" align="right"></td>
37
34
  </tr></table></div>
38
- <div class="refsynopsisdiv">
39
- <a name="cairo-cairo-scaled-font-t.synopsis"></a><h2>Synopsis</h2>
40
- <pre class="synopsis">typedef <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t">cairo_scaled_font_t</a>;
41
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()">cairo_scaled_font_create</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>,
42
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>,
43
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>,
44
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);
45
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()">cairo_scaled_font_reference</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
46
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()">cairo_scaled_font_destroy</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
47
- <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()">cairo_scaled_font_status</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
48
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t">cairo_font_extents_t</a>;
49
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-extents" title="cairo_scaled_font_extents ()">cairo_scaled_font_extents</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
50
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);
51
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t">cairo_text_extents_t</a>;
52
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents" title="cairo_scaled_font_text_extents ()">cairo_scaled_font_text_extents</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
53
- <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
54
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);
55
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-glyph-extents" title="cairo_scaled_font_glyph_extents ()">cairo_scaled_font_glyph_extents</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
56
- <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>,
57
- <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>,
58
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);
59
- <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" title="cairo_scaled_font_text_to_glyphs ()">cairo_scaled_font_text_to_glyphs</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
60
- <em class="parameter"><code><span class="type">double</span> x</code></em>,
61
- <em class="parameter"><code><span class="type">double</span> y</code></em>,
62
- <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
63
- <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>,
64
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> **glyphs</code></em>,
65
- <em class="parameter"><code><span class="type">int</span> *num_glyphs</code></em>,
66
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> **clusters</code></em>,
67
- <em class="parameter"><code><span class="type">int</span> *num_clusters</code></em>,
68
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> *cluster_flags</code></em>);
69
- <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face" title="cairo_scaled_font_get_font_face ()">cairo_scaled_font_get_font_face</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
70
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options" title="cairo_scaled_font_get_font_options ()">cairo_scaled_font_get_font_options</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
71
- <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);
72
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix" title="cairo_scaled_font_get_font_matrix ()">cairo_scaled_font_get_font_matrix</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
73
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>);
74
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm" title="cairo_scaled_font_get_ctm ()">cairo_scaled_font_get_ctm</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
75
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>);
76
- <span class="returnvalue">void</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix" title="cairo_scaled_font_get_scale_matrix ()">cairo_scaled_font_get_scale_matrix</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
77
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *scale_matrix</code></em>);
78
- <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()">cairo_scaled_font_get_type</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
79
- unsigned <span class="returnvalue">int</span> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()">cairo_scaled_font_get_reference_count</a>
80
- (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);
81
- <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data" title="cairo_scaled_font_set_user_data ()">cairo_scaled_font_set_user_data</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
82
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>,
83
- <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
84
- <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);
85
- <span class="returnvalue">void</span> * <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data" title="cairo_scaled_font_get_user_data ()">cairo_scaled_font_get_user_data</a> (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
86
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);
87
- </pre>
88
- </div>
89
- <div class="refsect1">
90
- <a name="cairo-cairo-scaled-font-t.description"></a><h2>Description</h2>
91
- <p>
92
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> represents a realization of a font face at a particular
93
- size and transformation and a certain set of font options.
94
- </p>
95
- </div>
96
35
  <div class="refsect1">
97
- <a name="cairo-cairo-scaled-font-t.details"></a><h2>Details</h2>
98
- <div class="refsect2">
99
- <a name="cairo-scaled-font-t"></a><h3>cairo_scaled_font_t</h3>
100
- <pre class="programlisting">typedef struct _cairo_scaled_font cairo_scaled_font_t;
101
- </pre>
102
- <p>
103
- A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is a font scaled to a particular size and device
104
- resolution. A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is most useful for low-level font
105
- usage where a library or application wants to cache a reference
106
- to a scaled font to speed up the computation of metrics.
107
- </p>
108
- <p>
109
- There are various types of scaled fonts, depending on the
110
- <em class="firstterm">font backend</em> they use. The type of a
111
- scaled font can be queried using <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()"><code class="function">cairo_scaled_font_get_type()</code></a>.
112
- </p>
113
- <p>
114
- Memory management of <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is done with
115
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a> and <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a>.
116
- </p>
117
- <p class="since">Since 1.0</p>
118
- </div>
119
- <hr>
120
- <div class="refsect2">
121
- <a name="cairo-scaled-font-create"></a><h3>cairo_scaled_font_create ()</h3>
122
- <pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * cairo_scaled_font_create (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>,
123
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>,
124
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>,
125
- <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
126
- <p>
127
- Creates a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> object from a font face and matrices that
128
- describe the size of the font and the environment in which it will
129
- be used.
130
- </p>
131
- <div class="variablelist"><table border="0">
132
- <col align="left" valign="top">
36
+ <a name="cairo-cairo-scaled-font-t.functions"></a><h2>Functions</h2>
37
+ <div class="informaltable"><table width="100%" border="0">
38
+ <colgroup>
39
+ <col width="150px" class="functions_return">
40
+ <col class="functions_name">
41
+ </colgroup>
133
42
  <tbody>
134
43
  <tr>
135
- <td><p><span class="term"><em class="parameter"><code>font_face</code></em> :</span></p></td>
136
- <td>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>
44
+ <td class="function_type">
45
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> *
46
+ </td>
47
+ <td class="function_name">
48
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()">cairo_scaled_font_create</a> <span class="c_punctuation">()</span>
137
49
  </td>
138
50
  </tr>
139
51
  <tr>
140
- <td><p><span class="term"><em class="parameter"><code>font_matrix</code></em> :</span></p></td>
141
- <td>font space to user space transformation matrix for the
142
- font. In the simplest case of a N point font, this matrix is
143
- just a scale by N, but it can also be used to shear the font
144
- or stretch it unequally along the two axes. See
145
- <a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>.</td>
52
+ <td class="function_type">
53
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> *
54
+ </td>
55
+ <td class="function_name">
56
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()">cairo_scaled_font_reference</a> <span class="c_punctuation">()</span>
57
+ </td>
146
58
  </tr>
147
59
  <tr>
148
- <td><p><span class="term"><em class="parameter"><code>ctm</code></em> :</span></p></td>
149
- <td>user to device transformation matrix with which the font will
150
- be used.</td>
60
+ <td class="function_type">
61
+ <span class="returnvalue">void</span>
62
+ </td>
63
+ <td class="function_name">
64
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()">cairo_scaled_font_destroy</a> <span class="c_punctuation">()</span>
65
+ </td>
151
66
  </tr>
152
67
  <tr>
153
- <td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
154
- <td>options to use when getting metrics for the font and
155
- rendering with it.</td>
68
+ <td class="function_type">
69
+ <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
70
+ </td>
71
+ <td class="function_name">
72
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()">cairo_scaled_font_status</a> <span class="c_punctuation">()</span>
73
+ </td>
156
74
  </tr>
157
75
  <tr>
158
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
159
- <td>a newly created <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>. Destroy with
160
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a>
76
+ <td class="function_type">
77
+ <span class="returnvalue">void</span>
78
+ </td>
79
+ <td class="function_name">
80
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-extents" title="cairo_scaled_font_extents ()">cairo_scaled_font_extents</a> <span class="c_punctuation">()</span>
161
81
  </td>
162
82
  </tr>
163
- </tbody>
164
- </table></div>
165
- <p class="since">Since 1.0</p>
166
- </div>
167
- <hr>
168
- <div class="refsect2">
169
- <a name="cairo-scaled-font-reference"></a><h3>cairo_scaled_font_reference ()</h3>
170
- <pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> * cairo_scaled_font_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
171
- <p>
172
- Increases the reference count on <em class="parameter"><code>scaled_font</code></em> by one. This prevents
173
- <em class="parameter"><code>scaled_font</code></em> from being destroyed until a matching call to
174
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a> is made.
175
- </p>
176
- <p>
177
- The number of references to a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> can be get using
178
- <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()"><code class="function">cairo_scaled_font_get_reference_count()</code></a>.
179
- </p>
180
- <div class="variablelist"><table border="0">
181
- <col align="left" valign="top">
182
- <tbody>
183
83
  <tr>
184
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
185
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>, (may be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> in which case
186
- this function does nothing)</td>
84
+ <td class="function_type">
85
+ <span class="returnvalue">void</span>
86
+ </td>
87
+ <td class="function_name">
88
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-extents" title="cairo_scaled_font_text_extents ()">cairo_scaled_font_text_extents</a> <span class="c_punctuation">()</span>
89
+ </td>
187
90
  </tr>
188
91
  <tr>
189
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
190
- <td>the referenced <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
92
+ <td class="function_type">
93
+ <span class="returnvalue">void</span>
94
+ </td>
95
+ <td class="function_name">
96
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-glyph-extents" title="cairo_scaled_font_glyph_extents ()">cairo_scaled_font_glyph_extents</a> <span class="c_punctuation">()</span>
191
97
  </td>
192
98
  </tr>
193
- </tbody>
194
- </table></div>
195
- <p class="since">Since 1.0</p>
196
- </div>
197
- <hr>
198
- <div class="refsect2">
199
- <a name="cairo-scaled-font-destroy"></a><h3>cairo_scaled_font_destroy ()</h3>
200
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
201
- <p>
202
- Decreases the reference count on <em class="parameter"><code>font</code></em> by one. If the result
203
- is zero, then <em class="parameter"><code>font</code></em> and all associated resources are freed.
204
- See <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.
205
- </p>
206
- <div class="variablelist"><table border="0">
207
- <col align="left" valign="top">
208
- <tbody><tr>
209
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
210
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
99
+ <tr>
100
+ <td class="function_type">
101
+ <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
211
102
  </td>
212
- </tr></tbody>
213
- </table></div>
214
- <p class="since">Since 1.0</p>
215
- </div>
216
- <hr>
217
- <div class="refsect2">
218
- <a name="cairo-scaled-font-status"></a><h3>cairo_scaled_font_status ()</h3>
219
- <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> cairo_scaled_font_status (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
220
- <p>
221
- Checks whether an error has previously occurred for this
222
- scaled_font.
223
- </p>
224
- <div class="variablelist"><table border="0">
225
- <col align="left" valign="top">
226
- <tbody>
103
+ <td class="function_name">
104
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-text-to-glyphs" title="cairo_scaled_font_text_to_glyphs ()">cairo_scaled_font_text_to_glyphs</a> <span class="c_punctuation">()</span>
105
+ </td>
106
+ </tr>
227
107
  <tr>
228
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
229
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
108
+ <td class="function_type">
109
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> *
110
+ </td>
111
+ <td class="function_name">
112
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-face" title="cairo_scaled_font_get_font_face ()">cairo_scaled_font_get_font_face</a> <span class="c_punctuation">()</span>
230
113
  </td>
231
114
  </tr>
232
115
  <tr>
233
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
234
- <td>
235
- <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or another error such as
236
- <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</td>
116
+ <td class="function_type">
117
+ <span class="returnvalue">void</span>
118
+ </td>
119
+ <td class="function_name">
120
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-options" title="cairo_scaled_font_get_font_options ()">cairo_scaled_font_get_font_options</a> <span class="c_punctuation">()</span>
121
+ </td>
237
122
  </tr>
238
- </tbody>
239
- </table></div>
240
- <p class="since">Since 1.0</p>
241
- </div>
242
- <hr>
243
- <div class="refsect2">
244
- <a name="cairo-font-extents-t"></a><h3>cairo_font_extents_t</h3>
245
- <pre class="programlisting">typedef struct {
246
- double ascent;
247
- double descent;
248
- double height;
249
- double max_x_advance;
250
- double max_y_advance;
251
- } cairo_font_extents_t;
252
- </pre>
253
- <p>
254
- The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> structure stores metric information for
255
- a font. Values are given in the current user-space coordinate
256
- system.
257
- </p>
258
- <p>
259
- Because font metrics are in user-space coordinates, they are
260
- mostly, but not entirely, independent of the current transformation
261
- matrix. If you call <code class="literal">cairo_scale(cr, 2.0, 2.0)</code>,
262
- text will be drawn twice as big, but the reported text extents will
263
- not be doubled. They will change slightly due to hinting (so you
264
- can't assume that metrics are independent of the transformation
265
- matrix), but otherwise will remain unchanged.
266
- </p>
267
- <div class="variablelist"><table border="0">
268
- <col align="left" valign="top">
269
- <tbody>
270
123
  <tr>
271
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.ascent"></a>ascent</code></em>;</span></p></td>
272
- <td>the distance that the font extends above the baseline.
273
- Note that this is not always exactly equal to the maximum
274
- of the extents of all the glyphs in the font, but rather
275
- is picked to express the font designer's intent as to
276
- how the font should align with elements above it.</td>
124
+ <td class="function_type">
125
+ <span class="returnvalue">void</span>
126
+ </td>
127
+ <td class="function_name">
128
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-font-matrix" title="cairo_scaled_font_get_font_matrix ()">cairo_scaled_font_get_font_matrix</a> <span class="c_punctuation">()</span>
129
+ </td>
277
130
  </tr>
278
131
  <tr>
279
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.descent"></a>descent</code></em>;</span></p></td>
280
- <td>the distance that the font extends below the baseline.
281
- This value is positive for typical fonts that include
282
- portions below the baseline. Note that this is not always
283
- exactly equal to the maximum of the extents of all the
284
- glyphs in the font, but rather is picked to express the
285
- font designer's intent as to how the font should
286
- align with elements below it.</td>
132
+ <td class="function_type">
133
+ <span class="returnvalue">void</span>
134
+ </td>
135
+ <td class="function_name">
136
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-ctm" title="cairo_scaled_font_get_ctm ()">cairo_scaled_font_get_ctm</a> <span class="c_punctuation">()</span>
137
+ </td>
287
138
  </tr>
288
139
  <tr>
289
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.height"></a>height</code></em>;</span></p></td>
290
- <td>the recommended vertical distance between baselines when
291
- setting consecutive lines of text with the font. This
292
- is greater than <em class="parameter"><code>ascent</code></em>+<em class="parameter"><code>descent</code></em> by a
293
- quantity known as the <em class="firstterm">line spacing</em>
294
- or <em class="firstterm">external leading</em>. When space
295
- is at a premium, most fonts can be set with only
296
- a distance of <em class="parameter"><code>ascent</code></em>+<em class="parameter"><code>descent</code></em> between lines.</td>
140
+ <td class="function_type">
141
+ <span class="returnvalue">void</span>
142
+ </td>
143
+ <td class="function_name">
144
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-scale-matrix" title="cairo_scaled_font_get_scale_matrix ()">cairo_scaled_font_get_scale_matrix</a> <span class="c_punctuation">()</span>
145
+ </td>
297
146
  </tr>
298
147
  <tr>
299
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-x-advance"></a>max_x_advance</code></em>;</span></p></td>
300
- <td>the maximum distance in the X direction that
301
- the origin is advanced for any glyph in the font.</td>
148
+ <td class="function_type">
149
+ <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a>
150
+ </td>
151
+ <td class="function_name">
152
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()">cairo_scaled_font_get_type</a> <span class="c_punctuation">()</span>
153
+ </td>
302
154
  </tr>
303
155
  <tr>
304
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-y-advance"></a>max_y_advance</code></em>;</span></p></td>
305
- <td>the maximum distance in the Y direction that
306
- the origin is advanced for any glyph in the font.
307
- This will be zero for normal fonts used for horizontal
308
- writing. (The scripts of East Asia are sometimes written
309
- vertically.)</td>
156
+ <td class="function_type">unsigned <span class="returnvalue">int</span>
157
+ </td>
158
+ <td class="function_name">
159
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()">cairo_scaled_font_get_reference_count</a> <span class="c_punctuation">()</span>
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td class="function_type">
164
+ <a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
165
+ </td>
166
+ <td class="function_name">
167
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-set-user-data" title="cairo_scaled_font_set_user_data ()">cairo_scaled_font_set_user_data</a> <span class="c_punctuation">()</span>
168
+ </td>
169
+ </tr>
170
+ <tr>
171
+ <td class="function_type">
172
+ <span class="returnvalue">void</span> *
173
+ </td>
174
+ <td class="function_name">
175
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-user-data" title="cairo_scaled_font_get_user_data ()">cairo_scaled_font_get_user_data</a> <span class="c_punctuation">()</span>
176
+ </td>
310
177
  </tr>
311
178
  </tbody>
312
179
  </table></div>
313
- <p class="since">Since 1.0</p>
314
180
  </div>
315
- <hr>
316
- <div class="refsect2">
317
- <a name="cairo-scaled-font-extents"></a><h3>cairo_scaled_font_extents ()</h3>
318
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
319
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);</pre>
320
- <p>
321
- Gets the metrics for a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>.
322
- </p>
323
- <div class="variablelist"><table border="0">
324
- <col align="left" valign="top">
181
+ <div class="refsect1">
182
+ <a name="cairo-cairo-scaled-font-t.other"></a><h2>Types and Values</h2>
183
+ <div class="informaltable"><table width="100%" border="0">
184
+ <colgroup>
185
+ <col width="150px" class="name">
186
+ <col class="description">
187
+ </colgroup>
325
188
  <tbody>
326
189
  <tr>
327
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
328
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
329
- </td>
190
+ <td class="typedef_keyword">typedef</td>
191
+ <td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t">cairo_scaled_font_t</a></td>
192
+ </tr>
193
+ <tr>
194
+ <td class="datatype_keyword"> </td>
195
+ <td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t">cairo_font_extents_t</a></td>
330
196
  </tr>
331
197
  <tr>
332
- <td><p><span class="term"><em class="parameter"><code>extents</code></em> :</span></p></td>
333
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> which to store the retrieved extents.</td>
198
+ <td class="datatype_keyword"> </td>
199
+ <td class="function_name"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t">cairo_text_extents_t</a></td>
334
200
  </tr>
335
201
  </tbody>
336
202
  </table></div>
337
- <p class="since">Since 1.0</p>
338
203
  </div>
339
- <hr>
340
- <div class="refsect2">
341
- <a name="cairo-text-extents-t"></a><h3>cairo_text_extents_t</h3>
342
- <pre class="programlisting">typedef struct {
343
- double x_bearing;
344
- double y_bearing;
345
- double width;
346
- double height;
347
- double x_advance;
348
- double y_advance;
349
- } cairo_text_extents_t;
204
+ <div class="refsect1">
205
+ <a name="cairo-cairo-scaled-font-t.object-hierarchy"></a><h2>Object Hierarchy</h2>
206
+ <pre class="screen">
350
207
  </pre>
351
- <p>
352
- The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> structure stores the extents of a single
353
- glyph or a string of glyphs in user-space coordinates. Because text
354
- extents are in user-space coordinates, they are mostly, but not
355
- entirely, independent of the current transformation matrix. If you call
356
- <code class="literal">cairo_scale(cr, 2.0, 2.0)</code>, text will
357
- be drawn twice as big, but the reported text extents will not be
358
- doubled. They will change slightly due to hinting (so you can't
359
- assume that metrics are independent of the transformation matrix),
360
- but otherwise will remain unchanged.
361
- </p>
362
- <div class="variablelist"><table border="0">
363
- <col align="left" valign="top">
208
+ </div>
209
+ <div class="refsect1">
210
+ <a name="cairo-cairo-scaled-font-t.description"></a><h2>Description</h2>
211
+ <p><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> represents a realization of a font face at a particular
212
+ size and transformation and a certain set of font options.</p>
213
+ </div>
214
+ <div class="refsect1">
215
+ <a name="cairo-cairo-scaled-font-t.functions_details"></a><h2>Functions</h2>
216
+ <div class="refsect2">
217
+ <a name="cairo-scaled-font-create"></a><h3>cairo_scaled_font_create ()</h3>
218
+ <pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> *
219
+ cairo_scaled_font_create (<em class="parameter"><code><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> *font_face</code></em>,
220
+ <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>,
221
+ <em class="parameter"><code>const <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>,
222
+ <em class="parameter"><code>const <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
223
+ <p>Creates a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> object from a font face and matrices that
224
+ describe the size of the font and the environment in which it will
225
+ be used.</p>
226
+ <div class="refsect3">
227
+ <a name="id-1.4.3.7.2.5"></a><h4>Parameters</h4>
228
+ <div class="informaltable"><table width="100%" border="0">
229
+ <colgroup>
230
+ <col width="150px" class="parameters_name">
231
+ <col class="parameters_description">
232
+ <col width="200px" class="parameters_annotations">
233
+ </colgroup>
364
234
  <tbody>
365
235
  <tr>
366
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-bearing"></a>x_bearing</code></em>;</span></p></td>
367
- <td>the horizontal distance from the origin to the
368
- leftmost part of the glyphs as drawn. Positive if the
369
- glyphs lie entirely to the right of the origin.</td>
236
+ <td class="parameter_name"><p>font_face</p></td>
237
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a></p></td>
238
+ <td class="parameter_annotations"> </td>
370
239
  </tr>
371
240
  <tr>
372
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-bearing"></a>y_bearing</code></em>;</span></p></td>
373
- <td>the vertical distance from the origin to the
374
- topmost part of the glyphs as drawn. Positive only if the
375
- glyphs lie completely below the origin; will usually be
376
- negative.</td>
241
+ <td class="parameter_name"><p>font_matrix</p></td>
242
+ <td class="parameter_description"><p>font space to user space transformation matrix for the
243
+ font. In the simplest case of a N point font, this matrix is
244
+ just a scale by N, but it can also be used to shear the font
245
+ or stretch it unequally along the two axes. See
246
+ <a class="link" href="cairo-text.html#cairo-set-font-matrix" title="cairo_set_font_matrix ()"><code class="function">cairo_set_font_matrix()</code></a>.</p></td>
247
+ <td class="parameter_annotations"> </td>
377
248
  </tr>
378
249
  <tr>
379
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.width"></a>width</code></em>;</span></p></td>
380
- <td>width of the glyphs as drawn</td>
250
+ <td class="parameter_name"><p>ctm</p></td>
251
+ <td class="parameter_description"><p>user to device transformation matrix with which the font will
252
+ be used.</p></td>
253
+ <td class="parameter_annotations"> </td>
381
254
  </tr>
382
255
  <tr>
383
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.height"></a>height</code></em>;</span></p></td>
384
- <td>height of the glyphs as drawn</td>
256
+ <td class="parameter_name"><p>options</p></td>
257
+ <td class="parameter_description"><p>options to use when getting metrics for the font and
258
+ rendering with it.</p></td>
259
+ <td class="parameter_annotations"> </td>
385
260
  </tr>
261
+ </tbody>
262
+ </table></div>
263
+ </div>
264
+ <div class="refsect3">
265
+ <a name="id-1.4.3.7.2.6"></a><h4>Returns</h4>
266
+ <p> a newly created <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>. Destroy with
267
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a></p>
268
+ <p></p>
269
+ </div>
270
+ <p class="since">Since 1.0</p>
271
+ </div>
272
+ <hr>
273
+ <div class="refsect2">
274
+ <a name="cairo-scaled-font-reference"></a><h3>cairo_scaled_font_reference ()</h3>
275
+ <pre class="programlisting"><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="returnvalue">cairo_scaled_font_t</span></a> *
276
+ cairo_scaled_font_reference (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
277
+ <p>Increases the reference count on <em class="parameter"><code>scaled_font</code></em>
278
+ by one. This prevents
279
+ <em class="parameter"><code>scaled_font</code></em>
280
+ from being destroyed until a matching call to
281
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a> is made.</p>
282
+ <p>The number of references to a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> can be get using
283
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-reference-count" title="cairo_scaled_font_get_reference_count ()"><code class="function">cairo_scaled_font_get_reference_count()</code></a>.</p>
284
+ <div class="refsect3">
285
+ <a name="id-1.4.3.7.3.6"></a><h4>Parameters</h4>
286
+ <div class="informaltable"><table width="100%" border="0">
287
+ <colgroup>
288
+ <col width="150px" class="parameters_name">
289
+ <col class="parameters_description">
290
+ <col width="200px" class="parameters_annotations">
291
+ </colgroup>
292
+ <tbody><tr>
293
+ <td class="parameter_name"><p>scaled_font</p></td>
294
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>, (may be <code class="literal">NULL</code> in which case
295
+ this function does nothing)</p></td>
296
+ <td class="parameter_annotations"> </td>
297
+ </tr></tbody>
298
+ </table></div>
299
+ </div>
300
+ <div class="refsect3">
301
+ <a name="id-1.4.3.7.3.7"></a><h4>Returns</h4>
302
+ <p> the referenced <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p>
303
+ <p></p>
304
+ </div>
305
+ <p class="since">Since 1.0</p>
306
+ </div>
307
+ <hr>
308
+ <div class="refsect2">
309
+ <a name="cairo-scaled-font-destroy"></a><h3>cairo_scaled_font_destroy ()</h3>
310
+ <pre class="programlisting"><span class="returnvalue">void</span>
311
+ cairo_scaled_font_destroy (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
312
+ <p>Decreases the reference count on <em class="parameter"><code>font</code></em>
313
+ by one. If the result
314
+ is zero, then <em class="parameter"><code>font</code></em>
315
+ and all associated resources are freed.
316
+ See <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p>
317
+ <div class="refsect3">
318
+ <a name="id-1.4.3.7.4.5"></a><h4>Parameters</h4>
319
+ <div class="informaltable"><table width="100%" border="0">
320
+ <colgroup>
321
+ <col width="150px" class="parameters_name">
322
+ <col class="parameters_description">
323
+ <col width="200px" class="parameters_annotations">
324
+ </colgroup>
325
+ <tbody><tr>
326
+ <td class="parameter_name"><p>scaled_font</p></td>
327
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
328
+ <td class="parameter_annotations"> </td>
329
+ </tr></tbody>
330
+ </table></div>
331
+ </div>
332
+ <p class="since">Since 1.0</p>
333
+ </div>
334
+ <hr>
335
+ <div class="refsect2">
336
+ <a name="cairo-scaled-font-status"></a><h3>cairo_scaled_font_status ()</h3>
337
+ <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
338
+ cairo_scaled_font_status (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
339
+ <p>Checks whether an error has previously occurred for this
340
+ scaled_font.</p>
341
+ <div class="refsect3">
342
+ <a name="id-1.4.3.7.5.5"></a><h4>Parameters</h4>
343
+ <div class="informaltable"><table width="100%" border="0">
344
+ <colgroup>
345
+ <col width="150px" class="parameters_name">
346
+ <col class="parameters_description">
347
+ <col width="200px" class="parameters_annotations">
348
+ </colgroup>
349
+ <tbody><tr>
350
+ <td class="parameter_name"><p>scaled_font</p></td>
351
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
352
+ <td class="parameter_annotations"> </td>
353
+ </tr></tbody>
354
+ </table></div>
355
+ </div>
356
+ <div class="refsect3">
357
+ <a name="id-1.4.3.7.5.6"></a><h4>Returns</h4>
358
+ <p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or another error such as
359
+ <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>.</p>
360
+ <p></p>
361
+ </div>
362
+ <p class="since">Since 1.0</p>
363
+ </div>
364
+ <hr>
365
+ <div class="refsect2">
366
+ <a name="cairo-scaled-font-extents"></a><h3>cairo_scaled_font_extents ()</h3>
367
+ <pre class="programlisting"><span class="returnvalue">void</span>
368
+ cairo_scaled_font_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
369
+ <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> *extents</code></em>);</pre>
370
+ <p>Gets the metrics for a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>.</p>
371
+ <div class="refsect3">
372
+ <a name="id-1.4.3.7.6.5"></a><h4>Parameters</h4>
373
+ <div class="informaltable"><table width="100%" border="0">
374
+ <colgroup>
375
+ <col width="150px" class="parameters_name">
376
+ <col class="parameters_description">
377
+ <col width="200px" class="parameters_annotations">
378
+ </colgroup>
379
+ <tbody>
386
380
  <tr>
387
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-advance"></a>x_advance</code></em>;</span></p></td>
388
- <td>distance to advance in the X direction
389
- after drawing these glyphs</td>
381
+ <td class="parameter_name"><p>scaled_font</p></td>
382
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
383
+ <td class="parameter_annotations"> </td>
390
384
  </tr>
391
385
  <tr>
392
- <td><p><span class="term"><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-advance"></a>y_advance</code></em>;</span></p></td>
393
- <td>distance to advance in the Y direction
394
- after drawing these glyphs. Will typically be zero except
395
- for vertical text layout as found in East-Asian languages.</td>
386
+ <td class="parameter_name"><p>extents</p></td>
387
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> which to store the retrieved extents.</p></td>
388
+ <td class="parameter_annotations"> </td>
396
389
  </tr>
397
390
  </tbody>
398
391
  </table></div>
392
+ </div>
399
393
  <p class="since">Since 1.0</p>
400
394
  </div>
401
395
  <hr>
402
396
  <div class="refsect2">
403
- <a name="cairo-scaled-font-text-extents"></a><h3>cairo_scaled_font_text_extents ()</h3>
404
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_text_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
405
- <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
406
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre>
407
- <p>
408
- Gets the extents for a string of text. The extents describe a
397
+ <a name="cairo-scaled-font-text-extents"></a><h3>cairo_scaled_font_text_extents ()</h3>
398
+ <pre class="programlisting"><span class="returnvalue">void</span>
399
+ cairo_scaled_font_text_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
400
+ <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
401
+ <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre>
402
+ <p>Gets the extents for a string of text. The extents describe a
409
403
  user-space rectangle that encloses the "inked" portion of the text
410
- drawn at the origin (0,0) (as it would be drawn by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>
404
+ drawn at the origin (0,0) (as it would be drawn by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>
411
405
  if the cairo graphics state were set to the same font_face,
412
- font_matrix, ctm, and font_options as <em class="parameter"><code>scaled_font</code></em>). Additionally,
406
+ font_matrix, ctm, and font_options as <em class="parameter"><code>scaled_font</code></em>
407
+ ). Additionally,
413
408
  the x_advance and y_advance values indicate the amount by which the
414
- current point would be advanced by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.
415
- </p>
416
- <p>
417
- Note that whitespace characters do not directly contribute to the
409
+ current point would be advanced by <a class="link" href="cairo-text.html#cairo-show-text" title="cairo_show_text ()"><code class="function">cairo_show_text()</code></a>.</p>
410
+ <p>Note that whitespace characters do not directly contribute to the
418
411
  size of the rectangle (extents.width and extents.height). They do
419
412
  contribute indirectly by changing the position of non-whitespace
420
413
  characters. In particular, trailing whitespace characters are
421
414
  likely to not affect the size of the rectangle, though they will
422
- affect the x_advance and y_advance values.
423
- </p>
424
- <div class="variablelist"><table border="0">
425
- <col align="left" valign="top">
415
+ affect the x_advance and y_advance values.</p>
416
+ <div class="refsect3">
417
+ <a name="id-1.4.3.7.7.6"></a><h4>Parameters</h4>
418
+ <div class="informaltable"><table width="100%" border="0">
419
+ <colgroup>
420
+ <col width="150px" class="parameters_name">
421
+ <col class="parameters_description">
422
+ <col width="200px" class="parameters_annotations">
423
+ </colgroup>
426
424
  <tbody>
427
425
  <tr>
428
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
429
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
430
- </td>
426
+ <td class="parameter_name"><p>scaled_font</p></td>
427
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
428
+ <td class="parameter_annotations"> </td>
431
429
  </tr>
432
430
  <tr>
433
- <td><p><span class="term"><em class="parameter"><code>utf8</code></em> :</span></p></td>
434
- <td>a NUL-terminated string of text, encoded in UTF-8</td>
431
+ <td class="parameter_name"><p>utf8</p></td>
432
+ <td class="parameter_description"><p>a NUL-terminated string of text, encoded in UTF-8</p></td>
433
+ <td class="parameter_annotations"> </td>
435
434
  </tr>
436
435
  <tr>
437
- <td><p><span class="term"><em class="parameter"><code>extents</code></em> :</span></p></td>
438
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</td>
436
+ <td class="parameter_name"><p>extents</p></td>
437
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</p></td>
438
+ <td class="parameter_annotations"> </td>
439
439
  </tr>
440
440
  </tbody>
441
441
  </table></div>
442
+ </div>
442
443
  <p class="since">Since 1.2</p>
443
444
  </div>
444
445
  <hr>
445
446
  <div class="refsect2">
446
- <a name="cairo-scaled-font-glyph-extents"></a><h3>cairo_scaled_font_glyph_extents ()</h3>
447
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_glyph_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
448
- <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>,
449
- <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>,
450
- <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre>
451
- <p>
452
- Gets the extents for an array of glyphs. The extents describe a
447
+ <a name="cairo-scaled-font-glyph-extents"></a><h3>cairo_scaled_font_glyph_extents ()</h3>
448
+ <pre class="programlisting"><span class="returnvalue">void</span>
449
+ cairo_scaled_font_glyph_extents (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
450
+ <em class="parameter"><code>const <a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> *glyphs</code></em>,
451
+ <em class="parameter"><code><span class="type">int</span> num_glyphs</code></em>,
452
+ <em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> *extents</code></em>);</pre>
453
+ <p>Gets the extents for an array of glyphs. The extents describe a
453
454
  user-space rectangle that encloses the "inked" portion of the
454
- glyphs, (as they would be drawn by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> if the cairo
455
+ glyphs, (as they would be drawn by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a> if the cairo
455
456
  graphics state were set to the same font_face, font_matrix, ctm,
456
- and font_options as <em class="parameter"><code>scaled_font</code></em>). Additionally, the x_advance and
457
+ and font_options as <em class="parameter"><code>scaled_font</code></em>
458
+ ). Additionally, the x_advance and
457
459
  y_advance values indicate the amount by which the current point
458
- would be advanced by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>.
459
- </p>
460
- <p>
461
- Note that whitespace glyphs do not contribute to the size of the
462
- rectangle (extents.width and extents.height).
463
- </p>
464
- <div class="variablelist"><table border="0">
465
- <col align="left" valign="top">
460
+ would be advanced by <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>.</p>
461
+ <p>Note that whitespace glyphs do not contribute to the size of the
462
+ rectangle (extents.width and extents.height).</p>
463
+ <div class="refsect3">
464
+ <a name="id-1.4.3.7.8.6"></a><h4>Parameters</h4>
465
+ <div class="informaltable"><table width="100%" border="0">
466
+ <colgroup>
467
+ <col width="150px" class="parameters_name">
468
+ <col class="parameters_description">
469
+ <col width="200px" class="parameters_annotations">
470
+ </colgroup>
466
471
  <tbody>
467
472
  <tr>
468
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
469
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
470
- </td>
473
+ <td class="parameter_name"><p>scaled_font</p></td>
474
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
475
+ <td class="parameter_annotations"> </td>
471
476
  </tr>
472
477
  <tr>
473
- <td><p><span class="term"><em class="parameter"><code>glyphs</code></em> :</span></p></td>
474
- <td>an array of glyph IDs with X and Y offsets.</td>
478
+ <td class="parameter_name"><p>glyphs</p></td>
479
+ <td class="parameter_description"><p>an array of glyph IDs with X and Y offsets.</p></td>
480
+ <td class="parameter_annotations"> </td>
475
481
  </tr>
476
482
  <tr>
477
- <td><p><span class="term"><em class="parameter"><code>num_glyphs</code></em> :</span></p></td>
478
- <td>the number of glyphs in the <em class="parameter"><code>glyphs</code></em> array</td>
483
+ <td class="parameter_name"><p>num_glyphs</p></td>
484
+ <td class="parameter_description"><p>the number of glyphs in the <em class="parameter"><code>glyphs</code></em>
485
+ array</p></td>
486
+ <td class="parameter_annotations"> </td>
479
487
  </tr>
480
488
  <tr>
481
- <td><p><span class="term"><em class="parameter"><code>extents</code></em> :</span></p></td>
482
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</td>
489
+ <td class="parameter_name"><p>extents</p></td>
490
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> which to store the retrieved extents.</p></td>
491
+ <td class="parameter_annotations"> </td>
483
492
  </tr>
484
493
  </tbody>
485
494
  </table></div>
495
+ </div>
486
496
  <p class="since">Since 1.0</p>
487
497
  </div>
488
498
  <hr>
489
499
  <div class="refsect2">
490
- <a name="cairo-scaled-font-text-to-glyphs"></a><h3>cairo_scaled_font_text_to_glyphs ()</h3>
491
- <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> cairo_scaled_font_text_to_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
492
- <em class="parameter"><code><span class="type">double</span> x</code></em>,
493
- <em class="parameter"><code><span class="type">double</span> y</code></em>,
494
- <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
495
- <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>,
496
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> **glyphs</code></em>,
497
- <em class="parameter"><code><span class="type">int</span> *num_glyphs</code></em>,
498
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> **clusters</code></em>,
499
- <em class="parameter"><code><span class="type">int</span> *num_clusters</code></em>,
500
- <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> *cluster_flags</code></em>);</pre>
501
- <p>
502
- Converts UTF-8 text to an array of glyphs, optionally with cluster
503
- mapping, that can be used to render later using <em class="parameter"><code>scaled_font</code></em>.
504
- </p>
505
- <p>
506
- If <em class="parameter"><code>glyphs</code></em> initially points to a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value, that array is used
507
- as a glyph buffer, and <em class="parameter"><code>num_glyphs</code></em> should point to the number of glyph
500
+ <a name="cairo-scaled-font-text-to-glyphs"></a><h3>cairo_scaled_font_text_to_glyphs ()</h3>
501
+ <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
502
+ cairo_scaled_font_text_to_glyphs (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
503
+ <em class="parameter"><code><span class="type">double</span> x</code></em>,
504
+ <em class="parameter"><code><span class="type">double</span> y</code></em>,
505
+ <em class="parameter"><code>const <span class="type">char</span> *utf8</code></em>,
506
+ <em class="parameter"><code><span class="type">int</span> utf8_len</code></em>,
507
+ <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-glyph-t" title="cairo_glyph_t"><span class="type">cairo_glyph_t</span></a> **glyphs</code></em>,
508
+ <em class="parameter"><code><span class="type">int</span> *num_glyphs</code></em>,
509
+ <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-t" title="cairo_text_cluster_t"><span class="type">cairo_text_cluster_t</span></a> **clusters</code></em>,
510
+ <em class="parameter"><code><span class="type">int</span> *num_clusters</code></em>,
511
+ <em class="parameter"><code><a class="link" href="cairo-text.html#cairo-text-cluster-flags-t" title="enum cairo_text_cluster_flags_t"><span class="type">cairo_text_cluster_flags_t</span></a> *cluster_flags</code></em>);</pre>
512
+ <p>Converts UTF-8 text to an array of glyphs, optionally with cluster
513
+ mapping, that can be used to render later using <em class="parameter"><code>scaled_font</code></em>
514
+ .</p>
515
+ <p>If <em class="parameter"><code>glyphs</code></em>
516
+ initially points to a non-<code class="literal">NULL</code> value, that array is used
517
+ as a glyph buffer, and <em class="parameter"><code>num_glyphs</code></em>
518
+ should point to the number of glyph
508
519
  entries available there. If the provided glyph array is too short for
509
- the conversion, a new glyph array is allocated using <a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()"><code class="function">cairo_glyph_allocate()</code></a>
510
- and placed in <em class="parameter"><code>glyphs</code></em>. Upon return, <em class="parameter"><code>num_glyphs</code></em> always contains the
511
- number of generated glyphs. If the value <em class="parameter"><code>glyphs</code></em> points to has changed
520
+ the conversion, a new glyph array is allocated using <a class="link" href="cairo-text.html#cairo-glyph-allocate" title="cairo_glyph_allocate ()"><code class="function">cairo_glyph_allocate()</code></a>
521
+ and placed in <em class="parameter"><code>glyphs</code></em>
522
+ . Upon return, <em class="parameter"><code>num_glyphs</code></em>
523
+ always contains the
524
+ number of generated glyphs. If the value <em class="parameter"><code>glyphs</code></em>
525
+ points to has changed
512
526
  after the call, the user is responsible for freeing the allocated glyph
513
- array using <a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()"><code class="function">cairo_glyph_free()</code></a>. This may happen even if the provided
514
- array was large enough.
515
- </p>
516
- <p>
517
- If <em class="parameter"><code>clusters</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, <em class="parameter"><code>num_clusters</code></em> and <em class="parameter"><code>cluster_flags</code></em> should not be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
527
+ array using <a class="link" href="cairo-text.html#cairo-glyph-free" title="cairo_glyph_free ()"><code class="function">cairo_glyph_free()</code></a>. This may happen even if the provided
528
+ array was large enough.</p>
529
+ <p>If <em class="parameter"><code>clusters</code></em>
530
+ is not <code class="literal">NULL</code>, <em class="parameter"><code>num_clusters</code></em>
531
+ and <em class="parameter"><code>cluster_flags</code></em>
532
+ should not be <code class="literal">NULL</code>,
518
533
  and cluster mapping will be computed.
519
534
  The semantics of how cluster array allocation works is similar to the glyph
520
535
  array. That is,
521
- if <em class="parameter"><code>clusters</code></em> initially points to a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> value, that array is used
522
- as a cluster buffer, and <em class="parameter"><code>num_clusters</code></em> should point to the number of cluster
536
+ if <em class="parameter"><code>clusters</code></em>
537
+ initially points to a non-<code class="literal">NULL</code> value, that array is used
538
+ as a cluster buffer, and <em class="parameter"><code>num_clusters</code></em>
539
+ should point to the number of cluster
523
540
  entries available there. If the provided cluster array is too short for
524
- the conversion, a new cluster array is allocated using <a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()"><code class="function">cairo_text_cluster_allocate()</code></a>
525
- and placed in <em class="parameter"><code>clusters</code></em>. Upon return, <em class="parameter"><code>num_clusters</code></em> always contains the
526
- number of generated clusters. If the value <em class="parameter"><code>clusters</code></em> points at has changed
541
+ the conversion, a new cluster array is allocated using <a class="link" href="cairo-text.html#cairo-text-cluster-allocate" title="cairo_text_cluster_allocate ()"><code class="function">cairo_text_cluster_allocate()</code></a>
542
+ and placed in <em class="parameter"><code>clusters</code></em>
543
+ . Upon return, <em class="parameter"><code>num_clusters</code></em>
544
+ always contains the
545
+ number of generated clusters. If the value <em class="parameter"><code>clusters</code></em>
546
+ points at has changed
527
547
  after the call, the user is responsible for freeing the allocated cluster
528
- array using <a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()"><code class="function">cairo_text_cluster_free()</code></a>. This may happen even if the provided
529
- array was large enough.
530
- </p>
531
- <p>
532
- In the simplest case, <em class="parameter"><code>glyphs</code></em> and <em class="parameter"><code>clusters</code></em> can point to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> initially
533
- and a suitable array will be allocated. In code:
534
- </p>
548
+ array using <a class="link" href="cairo-text.html#cairo-text-cluster-free" title="cairo_text_cluster_free ()"><code class="function">cairo_text_cluster_free()</code></a>. This may happen even if the provided
549
+ array was large enough.</p>
550
+ <p>In the simplest case, <em class="parameter"><code>glyphs</code></em>
551
+ and <em class="parameter"><code>clusters</code></em>
552
+ can point to <code class="literal">NULL</code> initially
553
+ and a suitable array will be allocated. In code:</p>
535
554
  <div class="informalexample"><pre class="programlisting">
536
555
  cairo_status_t status;
537
556
 
@@ -557,11 +576,7 @@ if (status == CAIRO_STATUS_SUCCESS) {
557
576
  cairo_text_cluster_free (clusters);
558
577
  }
559
578
  </pre></div>
560
- <p>
561
- </p>
562
- <p>
563
- If no cluster mapping is needed:
564
- </p>
579
+ <p>If no cluster mapping is needed:</p>
565
580
  <div class="informalexample"><pre class="programlisting">
566
581
  cairo_status_t status;
567
582
 
@@ -580,12 +595,8 @@ if (status == CAIRO_STATUS_SUCCESS) {
580
595
  cairo_glyph_free (glyphs);
581
596
  }
582
597
  </pre></div>
583
- <p>
584
- </p>
585
- <p>
586
- If stack-based glyph and cluster arrays are to be used for small
587
- arrays:
588
- </p>
598
+ <p>If stack-based glyph and cluster arrays are to be used for small
599
+ arrays:</p>
589
600
  <div class="informalexample"><pre class="programlisting">
590
601
  cairo_status_t status;
591
602
 
@@ -615,342 +626,605 @@ if (status == CAIRO_STATUS_SUCCESS) {
615
626
  cairo_text_cluster_free (clusters);
616
627
  }
617
628
  </pre></div>
618
- <p>
619
- </p>
620
- <p>
621
- For details of how <em class="parameter"><code>clusters</code></em>, <em class="parameter"><code>num_clusters</code></em>, and <em class="parameter"><code>cluster_flags</code></em> map input
622
- UTF-8 text to the output glyphs see <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>.
623
- </p>
624
- <p>
625
- The output values can be readily passed to <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>
626
- <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>, or related functions, assuming that the exact
627
- same <em class="parameter"><code>scaled_font</code></em> is used for the operation.
628
- </p>
629
- <div class="variablelist"><table border="0">
630
- <col align="left" valign="top">
629
+ <p>For details of how <em class="parameter"><code>clusters</code></em>
630
+ , <em class="parameter"><code>num_clusters</code></em>
631
+ , and <em class="parameter"><code>cluster_flags</code></em>
632
+ map input
633
+ UTF-8 text to the output glyphs see <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>.</p>
634
+ <p>The output values can be readily passed to <a class="link" href="cairo-text.html#cairo-show-text-glyphs" title="cairo_show_text_glyphs ()"><code class="function">cairo_show_text_glyphs()</code></a>
635
+ <a class="link" href="cairo-text.html#cairo-show-glyphs" title="cairo_show_glyphs ()"><code class="function">cairo_show_glyphs()</code></a>, or related functions, assuming that the exact
636
+ same <em class="parameter"><code>scaled_font</code></em>
637
+ is used for the operation.</p>
638
+ <div class="refsect3">
639
+ <a name="id-1.4.3.7.9.15"></a><h4>Parameters</h4>
640
+ <div class="informaltable"><table width="100%" border="0">
641
+ <colgroup>
642
+ <col width="150px" class="parameters_name">
643
+ <col class="parameters_description">
644
+ <col width="200px" class="parameters_annotations">
645
+ </colgroup>
631
646
  <tbody>
632
647
  <tr>
633
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
634
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
635
- </td>
648
+ <td class="parameter_name"><p>scaled_font</p></td>
649
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
650
+ <td class="parameter_annotations"> </td>
636
651
  </tr>
637
652
  <tr>
638
- <td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
639
- <td>X position to place first glyph</td>
653
+ <td class="parameter_name"><p>x</p></td>
654
+ <td class="parameter_description"><p>X position to place first glyph</p></td>
655
+ <td class="parameter_annotations"> </td>
640
656
  </tr>
641
657
  <tr>
642
- <td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
643
- <td>Y position to place first glyph</td>
658
+ <td class="parameter_name"><p>y</p></td>
659
+ <td class="parameter_description"><p>Y position to place first glyph</p></td>
660
+ <td class="parameter_annotations"> </td>
644
661
  </tr>
645
662
  <tr>
646
- <td><p><span class="term"><em class="parameter"><code>utf8</code></em> :</span></p></td>
647
- <td>a string of text encoded in UTF-8</td>
663
+ <td class="parameter_name"><p>utf8</p></td>
664
+ <td class="parameter_description"><p>a string of text encoded in UTF-8</p></td>
665
+ <td class="parameter_annotations"> </td>
648
666
  </tr>
649
667
  <tr>
650
- <td><p><span class="term"><em class="parameter"><code>utf8_len</code></em> :</span></p></td>
651
- <td>length of <em class="parameter"><code>utf8</code></em> in bytes, or -1 if it is NUL-terminated</td>
668
+ <td class="parameter_name"><p>utf8_len</p></td>
669
+ <td class="parameter_description"><p>length of <em class="parameter"><code>utf8</code></em>
670
+ in bytes, or -1 if it is NUL-terminated</p></td>
671
+ <td class="parameter_annotations"> </td>
652
672
  </tr>
653
673
  <tr>
654
- <td><p><span class="term"><em class="parameter"><code>glyphs</code></em> :</span></p></td>
655
- <td>pointer to array of glyphs to fill</td>
674
+ <td class="parameter_name"><p>glyphs</p></td>
675
+ <td class="parameter_description"><p>pointer to array of glyphs to fill</p></td>
676
+ <td class="parameter_annotations"> </td>
656
677
  </tr>
657
678
  <tr>
658
- <td><p><span class="term"><em class="parameter"><code>num_glyphs</code></em> :</span></p></td>
659
- <td>pointer to number of glyphs</td>
679
+ <td class="parameter_name"><p>num_glyphs</p></td>
680
+ <td class="parameter_description"><p>pointer to number of glyphs</p></td>
681
+ <td class="parameter_annotations"> </td>
660
682
  </tr>
661
683
  <tr>
662
- <td><p><span class="term"><em class="parameter"><code>clusters</code></em> :</span></p></td>
663
- <td>pointer to array of cluster mapping information to fill, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
664
- </td>
684
+ <td class="parameter_name"><p>clusters</p></td>
685
+ <td class="parameter_description"><p>pointer to array of cluster mapping information to fill, or <code class="literal">NULL</code></p></td>
686
+ <td class="parameter_annotations"> </td>
665
687
  </tr>
666
688
  <tr>
667
- <td><p><span class="term"><em class="parameter"><code>num_clusters</code></em> :</span></p></td>
668
- <td>pointer to number of clusters, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
669
- </td>
689
+ <td class="parameter_name"><p>num_clusters</p></td>
690
+ <td class="parameter_description"><p>pointer to number of clusters, or <code class="literal">NULL</code></p></td>
691
+ <td class="parameter_annotations"> </td>
670
692
  </tr>
671
693
  <tr>
672
- <td><p><span class="term"><em class="parameter"><code>cluster_flags</code></em> :</span></p></td>
673
- <td>pointer to location to store cluster flags corresponding to the
674
- output <em class="parameter"><code>clusters</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
675
- </td>
676
- </tr>
677
- <tr>
678
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
679
- <td>
680
- <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, or an error status
681
- if the input values are wrong or if conversion failed. If the input
682
- values are correct but the conversion failed, the error status is also
683
- set on <em class="parameter"><code>scaled_font</code></em>.</td>
694
+ <td class="parameter_name"><p>cluster_flags</p></td>
695
+ <td class="parameter_description"><p>pointer to location to store cluster flags corresponding to the
696
+ output <em class="parameter"><code>clusters</code></em>
697
+ , or <code class="literal">NULL</code></p></td>
698
+ <td class="parameter_annotations"> </td>
684
699
  </tr>
685
700
  </tbody>
686
701
  </table></div>
702
+ </div>
703
+ <div class="refsect3">
704
+ <a name="id-1.4.3.7.9.16"></a><h4>Returns</h4>
705
+ <p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> upon success, or an error status
706
+ if the input values are wrong or if conversion failed. If the input
707
+ values are correct but the conversion failed, the error status is also
708
+ set on <em class="parameter"><code>scaled_font</code></em>
709
+ .</p>
710
+ <p></p>
711
+ </div>
687
712
  <p class="since">Since 1.8</p>
688
713
  </div>
689
714
  <hr>
690
715
  <div class="refsect2">
691
- <a name="cairo-scaled-font-get-font-face"></a><h3>cairo_scaled_font_get_font_face ()</h3>
692
- <pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> * cairo_scaled_font_get_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
693
- <p>
694
- Gets the font face that this scaled font uses. This might be the
695
- font face passed to <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>, but this does not
696
- hold true for all possible cases.
697
- </p>
698
- <div class="variablelist"><table border="0">
699
- <col align="left" valign="top">
700
- <tbody>
701
- <tr>
702
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
703
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
704
- </td>
705
- </tr>
706
- <tr>
707
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
708
- <td>The <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> with which <em class="parameter"><code>scaled_font</code></em> was
709
- created. This object is owned by cairo. To keep a reference to it,
710
- you must call <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</td>
711
- </tr>
712
- </tbody>
716
+ <a name="cairo-scaled-font-get-font-face"></a><h3>cairo_scaled_font_get_font_face ()</h3>
717
+ <pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="returnvalue">cairo_font_face_t</span></a> *
718
+ cairo_scaled_font_get_font_face (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
719
+ <p>Gets the font face that this scaled font uses. This might be the
720
+ font face passed to <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>, but this does not
721
+ hold true for all possible cases.</p>
722
+ <div class="refsect3">
723
+ <a name="id-1.4.3.7.10.5"></a><h4>Parameters</h4>
724
+ <div class="informaltable"><table width="100%" border="0">
725
+ <colgroup>
726
+ <col width="150px" class="parameters_name">
727
+ <col class="parameters_description">
728
+ <col width="200px" class="parameters_annotations">
729
+ </colgroup>
730
+ <tbody><tr>
731
+ <td class="parameter_name"><p>scaled_font</p></td>
732
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
733
+ <td class="parameter_annotations"> </td>
734
+ </tr></tbody>
713
735
  </table></div>
736
+ </div>
737
+ <div class="refsect3">
738
+ <a name="id-1.4.3.7.10.6"></a><h4>Returns</h4>
739
+ <p> The <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> with which <em class="parameter"><code>scaled_font</code></em>
740
+ was
741
+ created. This object is owned by cairo. To keep a reference to it,
742
+ you must call <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p>
743
+ <p></p>
744
+ </div>
714
745
  <p class="since">Since 1.2</p>
715
746
  </div>
716
747
  <hr>
717
748
  <div class="refsect2">
718
- <a name="cairo-scaled-font-get-font-options"></a><h3>cairo_scaled_font_get_font_options ()</h3>
719
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
720
- <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
721
- <p>
722
- Stores the font options with which <em class="parameter"><code>scaled_font</code></em> was created into
723
- <em class="parameter"><code>options</code></em>.
724
- </p>
725
- <div class="variablelist"><table border="0">
726
- <col align="left" valign="top">
749
+ <a name="cairo-scaled-font-get-font-options"></a><h3>cairo_scaled_font_get_font_options ()</h3>
750
+ <pre class="programlisting"><span class="returnvalue">void</span>
751
+ cairo_scaled_font_get_font_options (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
752
+ <em class="parameter"><code><a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a> *options</code></em>);</pre>
753
+ <p>Stores the font options with which <em class="parameter"><code>scaled_font</code></em>
754
+ was created into
755
+ <em class="parameter"><code>options</code></em>
756
+ .</p>
757
+ <div class="refsect3">
758
+ <a name="id-1.4.3.7.11.5"></a><h4>Parameters</h4>
759
+ <div class="informaltable"><table width="100%" border="0">
760
+ <colgroup>
761
+ <col width="150px" class="parameters_name">
762
+ <col class="parameters_description">
763
+ <col width="200px" class="parameters_annotations">
764
+ </colgroup>
727
765
  <tbody>
728
766
  <tr>
729
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
730
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
731
- </td>
767
+ <td class="parameter_name"><p>scaled_font</p></td>
768
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
769
+ <td class="parameter_annotations"> </td>
732
770
  </tr>
733
771
  <tr>
734
- <td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
735
- <td>return value for the font options</td>
772
+ <td class="parameter_name"><p>options</p></td>
773
+ <td class="parameter_description"><p>return value for the font options</p></td>
774
+ <td class="parameter_annotations"> </td>
736
775
  </tr>
737
776
  </tbody>
738
777
  </table></div>
778
+ </div>
739
779
  <p class="since">Since 1.2</p>
740
780
  </div>
741
781
  <hr>
742
782
  <div class="refsect2">
743
- <a name="cairo-scaled-font-get-font-matrix"></a><h3>cairo_scaled_font_get_font_matrix ()</h3>
744
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_get_font_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
745
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>);</pre>
746
- <p>
747
- Stores the font matrix with which <em class="parameter"><code>scaled_font</code></em> was created into
748
- <em class="parameter"><code>matrix</code></em>.
749
- </p>
750
- <div class="variablelist"><table border="0">
751
- <col align="left" valign="top">
783
+ <a name="cairo-scaled-font-get-font-matrix"></a><h3>cairo_scaled_font_get_font_matrix ()</h3>
784
+ <pre class="programlisting"><span class="returnvalue">void</span>
785
+ cairo_scaled_font_get_font_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
786
+ <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *font_matrix</code></em>);</pre>
787
+ <p>Stores the font matrix with which <em class="parameter"><code>scaled_font</code></em>
788
+ was created into
789
+ <em class="parameter"><code>matrix</code></em>
790
+ .</p>
791
+ <div class="refsect3">
792
+ <a name="id-1.4.3.7.12.5"></a><h4>Parameters</h4>
793
+ <div class="informaltable"><table width="100%" border="0">
794
+ <colgroup>
795
+ <col width="150px" class="parameters_name">
796
+ <col class="parameters_description">
797
+ <col width="200px" class="parameters_annotations">
798
+ </colgroup>
752
799
  <tbody>
753
800
  <tr>
754
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
755
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
756
- </td>
801
+ <td class="parameter_name"><p>scaled_font</p></td>
802
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
803
+ <td class="parameter_annotations"> </td>
757
804
  </tr>
758
805
  <tr>
759
- <td><p><span class="term"><em class="parameter"><code>font_matrix</code></em> :</span></p></td>
760
- <td>return value for the matrix</td>
806
+ <td class="parameter_name"><p>font_matrix</p></td>
807
+ <td class="parameter_description"><p>return value for the matrix</p></td>
808
+ <td class="parameter_annotations"> </td>
761
809
  </tr>
762
810
  </tbody>
763
811
  </table></div>
812
+ </div>
764
813
  <p class="since">Since 1.2</p>
765
814
  </div>
766
815
  <hr>
767
816
  <div class="refsect2">
768
- <a name="cairo-scaled-font-get-ctm"></a><h3>cairo_scaled_font_get_ctm ()</h3>
769
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_get_ctm (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
770
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>);</pre>
771
- <p>
772
- Stores the CTM with which <em class="parameter"><code>scaled_font</code></em> was created into <em class="parameter"><code>ctm</code></em>.
817
+ <a name="cairo-scaled-font-get-ctm"></a><h3>cairo_scaled_font_get_ctm ()</h3>
818
+ <pre class="programlisting"><span class="returnvalue">void</span>
819
+ cairo_scaled_font_get_ctm (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
820
+ <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *ctm</code></em>);</pre>
821
+ <p>Stores the CTM with which <em class="parameter"><code>scaled_font</code></em>
822
+ was created into <em class="parameter"><code>ctm</code></em>
823
+ .
773
824
  Note that the translation offsets (x0, y0) of the CTM are ignored
774
- by <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. So, the matrix this
775
- function returns always has 0,0 as x0,y0.
776
- </p>
777
- <div class="variablelist"><table border="0">
778
- <col align="left" valign="top">
825
+ by <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-create" title="cairo_scaled_font_create ()"><code class="function">cairo_scaled_font_create()</code></a>. So, the matrix this
826
+ function returns always has 0,0 as x0,y0.</p>
827
+ <div class="refsect3">
828
+ <a name="id-1.4.3.7.13.5"></a><h4>Parameters</h4>
829
+ <div class="informaltable"><table width="100%" border="0">
830
+ <colgroup>
831
+ <col width="150px" class="parameters_name">
832
+ <col class="parameters_description">
833
+ <col width="200px" class="parameters_annotations">
834
+ </colgroup>
779
835
  <tbody>
780
836
  <tr>
781
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
782
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
783
- </td>
837
+ <td class="parameter_name"><p>scaled_font</p></td>
838
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
839
+ <td class="parameter_annotations"> </td>
784
840
  </tr>
785
841
  <tr>
786
- <td><p><span class="term"><em class="parameter"><code>ctm</code></em> :</span></p></td>
787
- <td>return value for the CTM</td>
842
+ <td class="parameter_name"><p>ctm</p></td>
843
+ <td class="parameter_description"><p>return value for the CTM</p></td>
844
+ <td class="parameter_annotations"> </td>
788
845
  </tr>
789
846
  </tbody>
790
847
  </table></div>
848
+ </div>
791
849
  <p class="since">Since 1.2</p>
792
850
  </div>
793
851
  <hr>
794
852
  <div class="refsect2">
795
- <a name="cairo-scaled-font-get-scale-matrix"></a><h3>cairo_scaled_font_get_scale_matrix ()</h3>
796
- <pre class="programlisting"><span class="returnvalue">void</span> cairo_scaled_font_get_scale_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
797
- <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *scale_matrix</code></em>);</pre>
798
- <p>
799
- Stores the scale matrix of <em class="parameter"><code>scaled_font</code></em> into <em class="parameter"><code>matrix</code></em>.
853
+ <a name="cairo-scaled-font-get-scale-matrix"></a><h3>cairo_scaled_font_get_scale_matrix ()</h3>
854
+ <pre class="programlisting"><span class="returnvalue">void</span>
855
+ cairo_scaled_font_get_scale_matrix (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
856
+ <em class="parameter"><code><a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a> *scale_matrix</code></em>);</pre>
857
+ <p>Stores the scale matrix of <em class="parameter"><code>scaled_font</code></em>
858
+ into <em class="parameter"><code>matrix</code></em>
859
+ .
800
860
  The scale matrix is product of the font matrix and the ctm
801
861
  associated with the scaled font, and hence is the matrix mapping from
802
- font space to device space.
803
- </p>
804
- <div class="variablelist"><table border="0">
805
- <col align="left" valign="top">
862
+ font space to device space.</p>
863
+ <div class="refsect3">
864
+ <a name="id-1.4.3.7.14.5"></a><h4>Parameters</h4>
865
+ <div class="informaltable"><table width="100%" border="0">
866
+ <colgroup>
867
+ <col width="150px" class="parameters_name">
868
+ <col class="parameters_description">
869
+ <col width="200px" class="parameters_annotations">
870
+ </colgroup>
806
871
  <tbody>
807
872
  <tr>
808
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
809
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
810
- </td>
873
+ <td class="parameter_name"><p>scaled_font</p></td>
874
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
875
+ <td class="parameter_annotations"> </td>
811
876
  </tr>
812
877
  <tr>
813
- <td><p><span class="term"><em class="parameter"><code>scale_matrix</code></em> :</span></p></td>
814
- <td>return value for the matrix</td>
878
+ <td class="parameter_name"><p>scale_matrix</p></td>
879
+ <td class="parameter_description"><p>return value for the matrix</p></td>
880
+ <td class="parameter_annotations"> </td>
815
881
  </tr>
816
882
  </tbody>
817
883
  </table></div>
884
+ </div>
818
885
  <p class="since">Since 1.8</p>
819
886
  </div>
820
887
  <hr>
821
888
  <div class="refsect2">
822
- <a name="cairo-scaled-font-get-type"></a><h3>cairo_scaled_font_get_type ()</h3>
823
- <pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a> cairo_scaled_font_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
824
- <p>
825
- This function returns the type of the backend used to create
889
+ <a name="cairo-scaled-font-get-type"></a><h3>cairo_scaled_font_get_type ()</h3>
890
+ <pre class="programlisting"><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="returnvalue">cairo_font_type_t</span></a>
891
+ cairo_scaled_font_get_type (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
892
+ <p>This function returns the type of the backend used to create
826
893
  a scaled font. See <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-type-t" title="enum cairo_font_type_t"><span class="type">cairo_font_type_t</span></a> for available types.
827
- However, this function never returns <a class="link" href="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-TOY:CAPS"><code class="literal">CAIRO_FONT_TYPE_TOY</code></a>.
828
- </p>
829
- <div class="variablelist"><table border="0">
830
- <col align="left" valign="top">
894
+ However, this function never returns <a class="link" href="cairo-cairo-font-face-t.html#CAIRO-FONT-TYPE-TOY:CAPS"><code class="literal">CAIRO_FONT_TYPE_TOY</code></a>.</p>
895
+ <div class="refsect3">
896
+ <a name="id-1.4.3.7.15.5"></a><h4>Parameters</h4>
897
+ <div class="informaltable"><table width="100%" border="0">
898
+ <colgroup>
899
+ <col width="150px" class="parameters_name">
900
+ <col class="parameters_description">
901
+ <col width="200px" class="parameters_annotations">
902
+ </colgroup>
903
+ <tbody><tr>
904
+ <td class="parameter_name"><p>scaled_font</p></td>
905
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
906
+ <td class="parameter_annotations"> </td>
907
+ </tr></tbody>
908
+ </table></div>
909
+ </div>
910
+ <div class="refsect3">
911
+ <a name="id-1.4.3.7.15.6"></a><h4>Returns</h4>
912
+ <p> The type of <em class="parameter"><code>scaled_font</code></em>
913
+ .</p>
914
+ <p></p>
915
+ </div>
916
+ <p class="since">Since 1.2</p>
917
+ </div>
918
+ <hr>
919
+ <div class="refsect2">
920
+ <a name="cairo-scaled-font-get-reference-count"></a><h3>cairo_scaled_font_get_reference_count ()</h3>
921
+ <pre class="programlisting">unsigned <span class="returnvalue">int</span>
922
+ cairo_scaled_font_get_reference_count (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
923
+ <p>Returns the current reference count of <em class="parameter"><code>scaled_font</code></em>
924
+ .</p>
925
+ <div class="refsect3">
926
+ <a name="id-1.4.3.7.16.5"></a><h4>Parameters</h4>
927
+ <div class="informaltable"><table width="100%" border="0">
928
+ <colgroup>
929
+ <col width="150px" class="parameters_name">
930
+ <col class="parameters_description">
931
+ <col width="200px" class="parameters_annotations">
932
+ </colgroup>
933
+ <tbody><tr>
934
+ <td class="parameter_name"><p>scaled_font</p></td>
935
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
936
+ <td class="parameter_annotations"> </td>
937
+ </tr></tbody>
938
+ </table></div>
939
+ </div>
940
+ <div class="refsect3">
941
+ <a name="id-1.4.3.7.16.6"></a><h4>Returns</h4>
942
+ <p> the current reference count of <em class="parameter"><code>scaled_font</code></em>
943
+ . If the
944
+ object is a nil object, 0 will be returned.</p>
945
+ <p></p>
946
+ </div>
947
+ <p class="since">Since 1.4</p>
948
+ </div>
949
+ <hr>
950
+ <div class="refsect2">
951
+ <a name="cairo-scaled-font-set-user-data"></a><h3>cairo_scaled_font_set_user_data ()</h3>
952
+ <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a>
953
+ cairo_scaled_font_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
954
+ <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>,
955
+ <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
956
+ <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre>
957
+ <p>Attach user data to <em class="parameter"><code>scaled_font</code></em>
958
+ . To remove user data from a surface,
959
+ call this function with the key that was used to set it and <code class="literal">NULL</code>
960
+ for <em class="parameter"><code>data</code></em>
961
+ .</p>
962
+ <div class="refsect3">
963
+ <a name="id-1.4.3.7.17.5"></a><h4>Parameters</h4>
964
+ <div class="informaltable"><table width="100%" border="0">
965
+ <colgroup>
966
+ <col width="150px" class="parameters_name">
967
+ <col class="parameters_description">
968
+ <col width="200px" class="parameters_annotations">
969
+ </colgroup>
831
970
  <tbody>
832
971
  <tr>
833
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
834
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
835
- </td>
972
+ <td class="parameter_name"><p>scaled_font</p></td>
973
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
974
+ <td class="parameter_annotations"> </td>
975
+ </tr>
976
+ <tr>
977
+ <td class="parameter_name"><p>key</p></td>
978
+ <td class="parameter_description"><p>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</p></td>
979
+ <td class="parameter_annotations"> </td>
980
+ </tr>
981
+ <tr>
982
+ <td class="parameter_name"><p>user_data</p></td>
983
+ <td class="parameter_description"><p>the user data to attach to the <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
984
+ <td class="parameter_annotations"> </td>
836
985
  </tr>
837
986
  <tr>
838
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
839
- <td>The type of <em class="parameter"><code>scaled_font</code></em>.</td>
987
+ <td class="parameter_name"><p>destroy</p></td>
988
+ <td class="parameter_description"><p>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
989
+ <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the
990
+ same key.</p></td>
991
+ <td class="parameter_annotations"> </td>
840
992
  </tr>
841
993
  </tbody>
842
994
  </table></div>
843
- <p class="since">Since 1.2</p>
995
+ </div>
996
+ <div class="refsect3">
997
+ <a name="id-1.4.3.7.17.6"></a><h4>Returns</h4>
998
+ <p> <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
999
+ slot could not be allocated for the user data.</p>
1000
+ <p></p>
1001
+ </div>
1002
+ <p class="since">Since 1.4</p>
844
1003
  </div>
845
1004
  <hr>
846
1005
  <div class="refsect2">
847
- <a name="cairo-scaled-font-get-reference-count"></a><h3>cairo_scaled_font_get_reference_count ()</h3>
848
- <pre class="programlisting">unsigned <span class="returnvalue">int</span> cairo_scaled_font_get_reference_count
849
- (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>);</pre>
850
- <p>
851
- Returns the current reference count of <em class="parameter"><code>scaled_font</code></em>.
852
- </p>
853
- <div class="variablelist"><table border="0">
854
- <col align="left" valign="top">
1006
+ <a name="cairo-scaled-font-get-user-data"></a><h3>cairo_scaled_font_get_user_data ()</h3>
1007
+ <pre class="programlisting"><span class="returnvalue">void</span> *
1008
+ cairo_scaled_font_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
1009
+ <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre>
1010
+ <p>Return user data previously attached to <em class="parameter"><code>scaled_font</code></em>
1011
+ using the
1012
+ specified key. If no user data has been attached with the given
1013
+ key this function returns <code class="literal">NULL</code>.</p>
1014
+ <div class="refsect3">
1015
+ <a name="id-1.4.3.7.18.5"></a><h4>Parameters</h4>
1016
+ <div class="informaltable"><table width="100%" border="0">
1017
+ <colgroup>
1018
+ <col width="150px" class="parameters_name">
1019
+ <col class="parameters_description">
1020
+ <col width="200px" class="parameters_annotations">
1021
+ </colgroup>
855
1022
  <tbody>
856
1023
  <tr>
857
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
858
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
859
- </td>
1024
+ <td class="parameter_name"><p>scaled_font</p></td>
1025
+ <td class="parameter_description"><p>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a></p></td>
1026
+ <td class="parameter_annotations"> </td>
860
1027
  </tr>
861
1028
  <tr>
862
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
863
- <td>the current reference count of <em class="parameter"><code>scaled_font</code></em>. If the
864
- object is a nil object, 0 will be returned.</td>
1029
+ <td class="parameter_name"><p>key</p></td>
1030
+ <td class="parameter_description"><p>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was
1031
+ attached to</p></td>
1032
+ <td class="parameter_annotations"> </td>
865
1033
  </tr>
866
1034
  </tbody>
867
1035
  </table></div>
1036
+ </div>
1037
+ <div class="refsect3">
1038
+ <a name="id-1.4.3.7.18.6"></a><h4>Returns</h4>
1039
+ <p> the user data previously attached or <code class="literal">NULL</code>.</p>
1040
+ <p></p>
1041
+ </div>
868
1042
  <p class="since">Since 1.4</p>
869
1043
  </div>
1044
+ </div>
1045
+ <div class="refsect1">
1046
+ <a name="cairo-cairo-scaled-font-t.other_details"></a><h2>Types and Values</h2>
1047
+ <div class="refsect2">
1048
+ <a name="cairo-scaled-font-t"></a><h3>cairo_scaled_font_t</h3>
1049
+ <pre class="programlisting">typedef struct _cairo_scaled_font cairo_scaled_font_t;
1050
+ </pre>
1051
+ <p>A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is a font scaled to a particular size and device
1052
+ resolution. A <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is most useful for low-level font
1053
+ usage where a library or application wants to cache a reference
1054
+ to a scaled font to speed up the computation of metrics.</p>
1055
+ <p>There are various types of scaled fonts, depending on the
1056
+ <em class="firstterm">font backend</em> they use. The type of a
1057
+ scaled font can be queried using <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-get-type" title="cairo_scaled_font_get_type ()"><code class="function">cairo_scaled_font_get_type()</code></a>.</p>
1058
+ <p>Memory management of <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> is done with
1059
+ <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a> and <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-destroy" title="cairo_scaled_font_destroy ()"><code class="function">cairo_scaled_font_destroy()</code></a>.</p>
1060
+ <p class="since">Since 1.0</p>
1061
+ </div>
870
1062
  <hr>
871
1063
  <div class="refsect2">
872
- <a name="cairo-scaled-font-set-user-data"></a><h3>cairo_scaled_font_set_user_data ()</h3>
873
- <pre class="programlisting"><a class="link" href="cairo-Error-handling.html#cairo-status-t" title="enum cairo_status_t"><span class="returnvalue">cairo_status_t</span></a> cairo_scaled_font_set_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
874
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>,
875
- <em class="parameter"><code><span class="type">void</span> *user_data</code></em>,
876
- <em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre>
877
- <p>
878
- Attach user data to <em class="parameter"><code>scaled_font</code></em>. To remove user data from a surface,
879
- call this function with the key that was used to set it and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
880
- for <em class="parameter"><code>data</code></em>.
881
- </p>
882
- <div class="variablelist"><table border="0">
883
- <col align="left" valign="top">
1064
+ <a name="cairo-font-extents-t"></a><h3>cairo_font_extents_t</h3>
1065
+ <pre class="programlisting">typedef struct {
1066
+ double ascent;
1067
+ double descent;
1068
+ double height;
1069
+ double max_x_advance;
1070
+ double max_y_advance;
1071
+ } cairo_font_extents_t;
1072
+ </pre>
1073
+ <p>The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-font-extents-t" title="cairo_font_extents_t"><span class="type">cairo_font_extents_t</span></a> structure stores metric information for
1074
+ a font. Values are given in the current user-space coordinate
1075
+ system.</p>
1076
+ <p>Because font metrics are in user-space coordinates, they are
1077
+ mostly, but not entirely, independent of the current transformation
1078
+ matrix. If you call <code class="literal">cairo_scale(cr, 2.0, 2.0)</code>,
1079
+ text will be drawn twice as big, but the reported text extents will
1080
+ not be doubled. They will change slightly due to hinting (so you
1081
+ can't assume that metrics are independent of the transformation
1082
+ matrix), but otherwise will remain unchanged.</p>
1083
+ <div class="refsect3">
1084
+ <a name="id-1.4.3.8.3.6"></a><h4>Members</h4>
1085
+ <div class="informaltable"><table width="100%" border="0">
1086
+ <colgroup>
1087
+ <col width="300px" class="struct_members_name">
1088
+ <col class="struct_members_description">
1089
+ <col width="200px" class="struct_members_annotations">
1090
+ </colgroup>
884
1091
  <tbody>
885
1092
  <tr>
886
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
887
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
888
- </td>
1093
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.ascent"></a>ascent</code></em>;</p></td>
1094
+ <td class="struct_member_description"><p>the distance that the font extends above the baseline.
1095
+ Note that this is not always exactly equal to the maximum
1096
+ of the extents of all the glyphs in the font, but rather
1097
+ is picked to express the font designer's intent as to
1098
+ how the font should align with elements above it.</p></td>
1099
+ <td class="struct_member_annotations"> </td>
889
1100
  </tr>
890
1101
  <tr>
891
- <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
892
- <td>the address of a <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> to attach the user data to</td>
1102
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.descent"></a>descent</code></em>;</p></td>
1103
+ <td class="struct_member_description"><p>the distance that the font extends below the baseline.
1104
+ This value is positive for typical fonts that include
1105
+ portions below the baseline. Note that this is not always
1106
+ exactly equal to the maximum of the extents of all the
1107
+ glyphs in the font, but rather is picked to express the
1108
+ font designer's intent as to how the font should
1109
+ align with elements below it.</p></td>
1110
+ <td class="struct_member_annotations"> </td>
893
1111
  </tr>
894
1112
  <tr>
895
- <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
896
- <td>the user data to attach to the <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
897
- </td>
1113
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.height"></a>height</code></em>;</p></td>
1114
+ <td class="struct_member_description"><p>the recommended vertical distance between baselines when
1115
+ setting consecutive lines of text with the font. This
1116
+ is greater than <em class="parameter"><code>ascent</code></em>
1117
+ +<em class="parameter"><code>descent</code></em>
1118
+ by a
1119
+ quantity known as the <em class="firstterm">line spacing</em>
1120
+ or <em class="firstterm">external leading</em>. When space
1121
+ is at a premium, most fonts can be set with only
1122
+ a distance of <em class="parameter"><code>ascent</code></em>
1123
+ +<em class="parameter"><code>descent</code></em>
1124
+ between lines.</p></td>
1125
+ <td class="struct_member_annotations"> </td>
898
1126
  </tr>
899
1127
  <tr>
900
- <td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
901
- <td>a <a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> which will be called when the
902
- <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> is destroyed or when new user data is attached using the
903
- same key.</td>
1128
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-x-advance"></a>max_x_advance</code></em>;</p></td>
1129
+ <td class="struct_member_description"><p>the maximum distance in the X direction that
1130
+ the origin is advanced for any glyph in the font.</p></td>
1131
+ <td class="struct_member_annotations"> </td>
904
1132
  </tr>
905
1133
  <tr>
906
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
907
- <td>
908
- <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-SUCCESS:CAPS"><code class="literal">CAIRO_STATUS_SUCCESS</code></a> or <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a> if a
909
- slot could not be allocated for the user data.</td>
1134
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-font-extents-t.max-y-advance"></a>max_y_advance</code></em>;</p></td>
1135
+ <td class="struct_member_description"><p>the maximum distance in the Y direction that
1136
+ the origin is advanced for any glyph in the font.
1137
+ This will be zero for normal fonts used for horizontal
1138
+ writing. (The scripts of East Asia are sometimes written
1139
+ vertically.)</p></td>
1140
+ <td class="struct_member_annotations"> </td>
910
1141
  </tr>
911
1142
  </tbody>
912
1143
  </table></div>
913
- <p class="since">Since 1.4</p>
1144
+ </div>
1145
+ <p class="since">Since 1.0</p>
914
1146
  </div>
915
1147
  <hr>
916
1148
  <div class="refsect2">
917
- <a name="cairo-scaled-font-get-user-data"></a><h3>cairo_scaled_font_get_user_data ()</h3>
918
- <pre class="programlisting"><span class="returnvalue">void</span> * cairo_scaled_font_get_user_data (<em class="parameter"><code><a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> *scaled_font</code></em>,
919
- <em class="parameter"><code>const <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> *key</code></em>);</pre>
920
- <p>
921
- Return user data previously attached to <em class="parameter"><code>scaled_font</code></em> using the
922
- specified key. If no user data has been attached with the given
923
- key this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
924
- </p>
925
- <div class="variablelist"><table border="0">
926
- <col align="left" valign="top">
1149
+ <a name="cairo-text-extents-t"></a><h3>cairo_text_extents_t</h3>
1150
+ <pre class="programlisting">typedef struct {
1151
+ double x_bearing;
1152
+ double y_bearing;
1153
+ double width;
1154
+ double height;
1155
+ double x_advance;
1156
+ double y_advance;
1157
+ } cairo_text_extents_t;
1158
+ </pre>
1159
+ <p>The <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-text-extents-t" title="cairo_text_extents_t"><span class="type">cairo_text_extents_t</span></a> structure stores the extents of a single
1160
+ glyph or a string of glyphs in user-space coordinates. Because text
1161
+ extents are in user-space coordinates, they are mostly, but not
1162
+ entirely, independent of the current transformation matrix. If you call
1163
+ <code class="literal">cairo_scale(cr, 2.0, 2.0)</code>, text will
1164
+ be drawn twice as big, but the reported text extents will not be
1165
+ doubled. They will change slightly due to hinting (so you can't
1166
+ assume that metrics are independent of the transformation matrix),
1167
+ but otherwise will remain unchanged.</p>
1168
+ <div class="refsect3">
1169
+ <a name="id-1.4.3.8.4.5"></a><h4>Members</h4>
1170
+ <div class="informaltable"><table width="100%" border="0">
1171
+ <colgroup>
1172
+ <col width="300px" class="struct_members_name">
1173
+ <col class="struct_members_description">
1174
+ <col width="200px" class="struct_members_annotations">
1175
+ </colgroup>
927
1176
  <tbody>
928
1177
  <tr>
929
- <td><p><span class="term"><em class="parameter"><code>scaled_font</code></em> :</span></p></td>
930
- <td>a <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a>
931
- </td>
1178
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-bearing"></a>x_bearing</code></em>;</p></td>
1179
+ <td class="struct_member_description"><p>the horizontal distance from the origin to the
1180
+ leftmost part of the glyphs as drawn. Positive if the
1181
+ glyphs lie entirely to the right of the origin.</p></td>
1182
+ <td class="struct_member_annotations"> </td>
932
1183
  </tr>
933
1184
  <tr>
934
- <td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
935
- <td>the address of the <a class="link" href="cairo-Types.html#cairo-user-data-key-t" title="cairo_user_data_key_t"><span class="type">cairo_user_data_key_t</span></a> the user data was
936
- attached to</td>
1185
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-bearing"></a>y_bearing</code></em>;</p></td>
1186
+ <td class="struct_member_description"><p>the vertical distance from the origin to the
1187
+ topmost part of the glyphs as drawn. Positive only if the
1188
+ glyphs lie completely below the origin; will usually be
1189
+ negative.</p></td>
1190
+ <td class="struct_member_annotations"> </td>
937
1191
  </tr>
938
1192
  <tr>
939
- <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
940
- <td>the user data previously attached or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
1193
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.width"></a>width</code></em>;</p></td>
1194
+ <td class="struct_member_description"><p>width of the glyphs as drawn</p></td>
1195
+ <td class="struct_member_annotations"> </td>
1196
+ </tr>
1197
+ <tr>
1198
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.height"></a>height</code></em>;</p></td>
1199
+ <td class="struct_member_description"><p>height of the glyphs as drawn</p></td>
1200
+ <td class="struct_member_annotations"> </td>
1201
+ </tr>
1202
+ <tr>
1203
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.x-advance"></a>x_advance</code></em>;</p></td>
1204
+ <td class="struct_member_description"><p>distance to advance in the X direction
1205
+ after drawing these glyphs</p></td>
1206
+ <td class="struct_member_annotations"> </td>
1207
+ </tr>
1208
+ <tr>
1209
+ <td class="struct_member_name"><p><span class="type">double</span> <em class="structfield"><code><a name="cairo-text-extents-t.y-advance"></a>y_advance</code></em>;</p></td>
1210
+ <td class="struct_member_description"><p>distance to advance in the Y direction
1211
+ after drawing these glyphs. Will typically be zero except
1212
+ for vertical text layout as found in East-Asian languages.</p></td>
1213
+ <td class="struct_member_annotations"> </td>
941
1214
  </tr>
942
1215
  </tbody>
943
1216
  </table></div>
944
- <p class="since">Since 1.4</p>
1217
+ </div>
1218
+ <p class="since">Since 1.0</p>
945
1219
  </div>
946
1220
  </div>
947
1221
  <div class="refsect1">
948
1222
  <a name="cairo-cairo-scaled-font-t.see-also"></a><h2>See Also</h2>
949
- <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a>
1223
+ <p><a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, <a class="link" href="cairo-cairo-matrix-t.html#cairo-matrix-t" title="cairo_matrix_t"><span class="type">cairo_matrix_t</span></a>, <a class="link" href="cairo-cairo-font-options-t.html#cairo-font-options-t" title="cairo_font_options_t"><span class="type">cairo_font_options_t</span></a></p>
950
1224
  </div>
951
1225
  </div>
952
1226
  <div class="footer">
953
1227
  <hr>
954
- Generated by GTK-Doc V1.18</div>
1228
+ Generated by GTK-Doc V1.20</div>
955
1229
  </body>
956
1230
  </html>