cairo 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. data/ChangeLog +153 -0
  2. data/NEWS +16 -2
  3. data/README +2 -0
  4. data/Rakefile +21 -7
  5. data/doc/doc.css +69 -0
  6. data/doc/en/cairo-antialias.html +27 -0
  7. data/doc/en/cairo-clip-not-representable-error.html +36 -0
  8. data/doc/en/cairo-color-base.html +58 -0
  9. data/doc/en/cairo-color-cmyk.html +146 -0
  10. data/doc/en/cairo-color-hsv.html +126 -0
  11. data/doc/en/cairo-color-rgb.html +131 -0
  12. data/doc/en/cairo-color-x11.html +162 -0
  13. data/doc/en/cairo-color.html +227 -0
  14. data/doc/en/cairo-content.html +26 -0
  15. data/doc/en/cairo-context-blur.html +28 -0
  16. data/doc/en/cairo-context-circle.html +28 -0
  17. data/doc/en/cairo-context-color.html +28 -0
  18. data/doc/en/cairo-context-path.html +33 -0
  19. data/doc/en/cairo-context-rectangle.html +28 -0
  20. data/doc/en/cairo-context-triangle.html +28 -0
  21. data/doc/en/cairo-context.html +622 -0
  22. data/doc/en/cairo-error.html +33 -0
  23. data/doc/en/cairo-extend.html +27 -0
  24. data/doc/en/cairo-file-not-found.html +36 -0
  25. data/doc/en/cairo-fill-rule.html +25 -0
  26. data/doc/en/cairo-filter.html +29 -0
  27. data/doc/en/cairo-font-extents.html +60 -0
  28. data/doc/en/cairo-font-face.html +27 -0
  29. data/doc/en/cairo-font-options.html +128 -0
  30. data/doc/en/cairo-font-slant.html +26 -0
  31. data/doc/en/cairo-font-weight.html +25 -0
  32. data/doc/en/cairo-format.html +35 -0
  33. data/doc/en/cairo-glyph.html +88 -0
  34. data/doc/en/cairo-gradient-pattern.html +63 -0
  35. data/doc/en/cairo-hint-metrics.html +26 -0
  36. data/doc/en/cairo-hint-style.html +28 -0
  37. data/doc/en/cairo-image-surface.html +71 -0
  38. data/doc/en/cairo-invalid-content-error.html +36 -0
  39. data/doc/en/cairo-invalid-dash-error.html +36 -0
  40. data/doc/en/cairo-invalid-dsc-comment-error.html +36 -0
  41. data/doc/en/cairo-invalid-format-error.html +36 -0
  42. data/doc/en/cairo-invalid-index-error.html +36 -0
  43. data/doc/en/cairo-invalid-matrix-error.html +36 -0
  44. data/doc/en/cairo-invalid-path-data-error.html +36 -0
  45. data/doc/en/cairo-invalid-pop-group-error.html +36 -0
  46. data/doc/en/cairo-invalid-restore-error.html +36 -0
  47. data/doc/en/cairo-invalid-status-error.html +36 -0
  48. data/doc/en/cairo-invalid-stride-error.html +36 -0
  49. data/doc/en/cairo-invalid-string-error.html +36 -0
  50. data/doc/en/cairo-invalid-visual-error.html +36 -0
  51. data/doc/en/cairo-line-cap.html +26 -0
  52. data/doc/en/cairo-line-join.html +26 -0
  53. data/doc/en/cairo-linear-pattern.html +49 -0
  54. data/doc/en/cairo-matrix.html +243 -0
  55. data/doc/en/cairo-no-current-point-error.html +36 -0
  56. data/doc/en/cairo-null-pointer-error.html +36 -0
  57. data/doc/en/cairo-operator.html +37 -0
  58. data/doc/en/cairo-paper-parse-error.html +36 -0
  59. data/doc/en/cairo-paper-unknown-paper-name.html +55 -0
  60. data/doc/en/cairo-paper-unknown-unit.html +55 -0
  61. data/doc/en/cairo-paper-unrecognized-paper-description.html +55 -0
  62. data/doc/en/cairo-paper.html +173 -0
  63. data/doc/en/cairo-path-close-path.html +38 -0
  64. data/doc/en/cairo-path-curve-to.html +38 -0
  65. data/doc/en/cairo-path-data-type.html +27 -0
  66. data/doc/en/cairo-path-data.html +87 -0
  67. data/doc/en/cairo-path-line-to.html +38 -0
  68. data/doc/en/cairo-path-move-to.html +38 -0
  69. data/doc/en/cairo-path.html +144 -0
  70. data/doc/en/cairo-pattern-type-mismatch-error.html +36 -0
  71. data/doc/en/cairo-pattern.html +88 -0
  72. data/doc/en/cairo-pdf-surface.html +46 -0
  73. data/doc/en/cairo-point.html +63 -0
  74. data/doc/en/cairo-ps-level.html +38 -0
  75. data/doc/en/cairo-ps-surface.html +81 -0
  76. data/doc/en/cairo-quartz-surface.html +38 -0
  77. data/doc/en/cairo-radial-pattern.html +49 -0
  78. data/doc/en/cairo-read-error.html +36 -0
  79. data/doc/en/cairo-rectangle.html +78 -0
  80. data/doc/en/cairo-scaled-font.html +73 -0
  81. data/doc/en/cairo-solid-pattern.html +51 -0
  82. data/doc/en/cairo-subpixel-order.html +28 -0
  83. data/doc/en/cairo-surface-finished-error.html +36 -0
  84. data/doc/en/cairo-surface-pattern.html +46 -0
  85. data/doc/en/cairo-surface-type-mismatch-error.html +36 -0
  86. data/doc/en/cairo-surface.html +100 -0
  87. data/doc/en/cairo-svg-surface.html +66 -0
  88. data/doc/en/cairo-svg-version.html +38 -0
  89. data/doc/en/cairo-temp-file-error.html +36 -0
  90. data/doc/en/cairo-text-extents.html +65 -0
  91. data/doc/en/cairo-win32-surface.html +43 -0
  92. data/doc/en/cairo-write-error.html +36 -0
  93. data/doc/en/cairo.html +109 -0
  94. data/doc/en/index.html +1058 -0
  95. data/doc/index.html +18 -0
  96. data/doc/ja/cairo-antialias.html +43 -0
  97. data/doc/ja/cairo-clip-not-representable-error.html +42 -0
  98. data/doc/ja/cairo-color-base.html +61 -0
  99. data/doc/ja/cairo-color-cmyk.html +138 -0
  100. data/doc/ja/cairo-color-hsv.html +121 -0
  101. data/doc/ja/cairo-color-rgb.html +131 -0
  102. data/doc/ja/cairo-color-x11.html +169 -0
  103. data/doc/ja/cairo-color.html +303 -0
  104. data/doc/ja/cairo-content.html +37 -0
  105. data/doc/ja/cairo-context-blur.html +39 -0
  106. data/doc/ja/cairo-context-circle.html +40 -0
  107. data/doc/ja/cairo-context-color.html +38 -0
  108. data/doc/ja/cairo-context-path.html +63 -0
  109. data/doc/ja/cairo-context-rectangle.html +46 -0
  110. data/doc/ja/cairo-context-triangle.html +33 -0
  111. data/doc/ja/cairo-context.html +1435 -0
  112. data/doc/ja/cairo-error.html +42 -0
  113. data/doc/ja/cairo-extend.html +42 -0
  114. data/doc/ja/cairo-file-not-found.html +37 -0
  115. data/doc/ja/cairo-fill-rule.html +44 -0
  116. data/doc/ja/cairo-filter.html +29 -0
  117. data/doc/ja/cairo-font-extents.html +96 -0
  118. data/doc/ja/cairo-font-face.html +41 -0
  119. data/doc/ja/cairo-font-options.html +172 -0
  120. data/doc/ja/cairo-font-slant.html +36 -0
  121. data/doc/ja/cairo-font-weight.html +33 -0
  122. data/doc/ja/cairo-format.html +67 -0
  123. data/doc/ja/cairo-glyph.html +101 -0
  124. data/doc/ja/cairo-gradient-pattern.html +105 -0
  125. data/doc/ja/cairo-hint-metrics.html +43 -0
  126. data/doc/ja/cairo-hint-style.html +50 -0
  127. data/doc/ja/cairo-image-surface.html +117 -0
  128. data/doc/ja/cairo-invalid-content-error.html +40 -0
  129. data/doc/ja/cairo-invalid-dash-error.html +40 -0
  130. data/doc/ja/cairo-invalid-dsc-comment-error.html +40 -0
  131. data/doc/ja/cairo-invalid-format-error.html +40 -0
  132. data/doc/ja/cairo-invalid-index-error.html +40 -0
  133. data/doc/ja/cairo-invalid-matrix-error.html +40 -0
  134. data/doc/ja/cairo-invalid-path-data-error.html +40 -0
  135. data/doc/ja/cairo-invalid-pop-group-error.html +40 -0
  136. data/doc/ja/cairo-invalid-restore-error.html +41 -0
  137. data/doc/ja/cairo-invalid-status-error.html +41 -0
  138. data/doc/ja/cairo-invalid-stride-error.html +41 -0
  139. data/doc/ja/cairo-invalid-string-error.html +40 -0
  140. data/doc/ja/cairo-invalid-visual-error.html +43 -0
  141. data/doc/ja/cairo-line-cap.html +36 -0
  142. data/doc/ja/cairo-line-join.html +39 -0
  143. data/doc/ja/cairo-linear-pattern.html +73 -0
  144. data/doc/ja/cairo-matrix.html +329 -0
  145. data/doc/ja/cairo-no-current-point-error.html +40 -0
  146. data/doc/ja/cairo-null-pointer-error.html +40 -0
  147. data/doc/ja/cairo-operator.html +37 -0
  148. data/doc/ja/cairo-paper-parse-error.html +41 -0
  149. data/doc/ja/cairo-paper-unknown-paper-name.html +62 -0
  150. data/doc/ja/cairo-paper-unknown-unit.html +61 -0
  151. data/doc/ja/cairo-paper-unrecognized-paper-description.html +62 -0
  152. data/doc/ja/cairo-paper.html +343 -0
  153. data/doc/ja/cairo-path-close-path.html +43 -0
  154. data/doc/ja/cairo-path-curve-to.html +56 -0
  155. data/doc/ja/cairo-path-data-type.html +39 -0
  156. data/doc/ja/cairo-path-data.html +113 -0
  157. data/doc/ja/cairo-path-line-to.html +48 -0
  158. data/doc/ja/cairo-path-move-to.html +48 -0
  159. data/doc/ja/cairo-path.html +130 -0
  160. data/doc/ja/cairo-pattern-type-mismatch-error.html +42 -0
  161. data/doc/ja/cairo-pattern.html +114 -0
  162. data/doc/ja/cairo-pdf-surface.html +72 -0
  163. data/doc/ja/cairo-point.html +76 -0
  164. data/doc/ja/cairo-ps-level.html +48 -0
  165. data/doc/ja/cairo-ps-surface.html +200 -0
  166. data/doc/ja/cairo-quartz-surface.html +78 -0
  167. data/doc/ja/cairo-radial-pattern.html +79 -0
  168. data/doc/ja/cairo-read-error.html +41 -0
  169. data/doc/ja/cairo-rectangle.html +95 -0
  170. data/doc/ja/cairo-scaled-font.html +130 -0
  171. data/doc/ja/cairo-solid-pattern.html +73 -0
  172. data/doc/ja/cairo-subpixel-order.html +43 -0
  173. data/doc/ja/cairo-surface-finished-error.html +40 -0
  174. data/doc/ja/cairo-surface-pattern.html +54 -0
  175. data/doc/ja/cairo-surface-type-mismatch-error.html +42 -0
  176. data/doc/ja/cairo-surface.html +177 -0
  177. data/doc/ja/cairo-svg-surface.html +100 -0
  178. data/doc/ja/cairo-svg-version.html +52 -0
  179. data/doc/ja/cairo-temp-file-error.html +36 -0
  180. data/doc/ja/cairo-text-extents.html +87 -0
  181. data/doc/ja/cairo-win32-surface.html +86 -0
  182. data/doc/ja/cairo-write-error.html +41 -0
  183. data/doc/ja/cairo.html +134 -0
  184. data/doc/ja/index.html +1059 -0
  185. data/extconf.rb +53 -17
  186. data/pkg-config.rb +197 -52
  187. data/samples/pac.rb +8 -9
  188. data/samples/pac2.rb +6 -6
  189. data/samples/png.rb +1 -2
  190. data/samples/text2.rb +9 -3
  191. data/src/cairo.def +6 -0
  192. data/src/lib/cairo.rb +35 -5
  193. data/src/lib/cairo/paper.rb +183 -0
  194. data/src/lib/cairo/papers.rb +41 -0
  195. data/src/rb_cairo.c +4 -3
  196. data/src/rb_cairo.h +18 -1
  197. data/src/rb_cairo_constants.c +124 -2
  198. data/src/rb_cairo_context.c +35 -5
  199. data/src/rb_cairo_exception.c +23 -1
  200. data/src/rb_cairo_font_options.c +1 -1
  201. data/src/rb_cairo_path.c +1 -14
  202. data/src/rb_cairo_surface.c +301 -82
  203. data/test/run-test.rb +15 -0
  204. data/test/test_paper.rb +81 -0
  205. data/test/test_pkg_config.rb +121 -0
  206. metadata +187 -3
  207. data/samples/.#blur.rb.1.1 +0 -36
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::InvalidStringErrorクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::InvalidStringErrorクラス</a></h1><!-- RDLabel: "Cairo::InvalidStringErrorクラス" -->
13
+ <p>UTF-8として不正な文字列を入力したときに発生します。</p>
14
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
15
+ <ul>
16
+ <li>Object
17
+ <ul>
18
+ <li>Exception
19
+ <ul>
20
+ <li>StandardError
21
+ <ul>
22
+ <li>ArgumentError
23
+ <ul>
24
+ <li>Cairo::InvalidStringError</li>
25
+ </ul></li>
26
+ </ul></li>
27
+ </ul></li>
28
+ </ul></li>
29
+ </ul>
30
+ <h2><a name="label-2" id="label-2">参考</a></h2><!-- RDLabel: "参考" -->
31
+ <ul>
32
+ <li><a href="index.html#label-0">索引</a></li>
33
+ </ul>
34
+ <h2><a name="label-3" id="label-3">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
35
+ <ul>
36
+ <li>2007-05-21: kou: スタート。</li>
37
+ </ul>
38
+
39
+ </body>
40
+ </html>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::InvalidVisualErrorクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::InvalidVisualErrorクラス</a></h1><!-- RDLabel: "Cairo::InvalidVisualErrorクラス" -->
13
+ <p>不正なVisual *(X Window SystemのAPIの型)を入力したときに発
14
+ 生します。</p>
15
+ <p>今のところ、rcairoはX Window System用のサーフェスをサポート
16
+ していないので、rcairoでは発生しないはずです。</p>
17
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
18
+ <ul>
19
+ <li>Object
20
+ <ul>
21
+ <li>Exception
22
+ <ul>
23
+ <li>StandardError
24
+ <ul>
25
+ <li>ArgumentError
26
+ <ul>
27
+ <li>Cairo::InvalidVisualError</li>
28
+ </ul></li>
29
+ </ul></li>
30
+ </ul></li>
31
+ </ul></li>
32
+ </ul>
33
+ <h2><a name="label-2" id="label-2">参考</a></h2><!-- RDLabel: "参考" -->
34
+ <ul>
35
+ <li><a href="index.html#label-0">索引</a></li>
36
+ </ul>
37
+ <h2><a name="label-3" id="label-3">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
38
+ <ul>
39
+ <li>2007-05-21: kou: スタート。</li>
40
+ </ul>
41
+
42
+ </body>
43
+ </html>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::LineCapモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::LineCapモジュール</a></h1><!-- RDLabel: "Cairo::LineCapモジュール" -->
13
+ <p>描きのとき、線の終点をどのように描画するかを指定します。</p>
14
+ <h2><a name="label-1" id="label-1">定数</a></h2><!-- RDLabel: "定数" -->
15
+ <dl>
16
+ <dt><a name="label-2" id="label-2"><code>BUTT</code></a></dt><!-- RDLabel: "BUTT" -->
17
+ <dd>
18
+ 線を正確に最初の点から始めます(最後の点で終わります)。</dd>
19
+ <dt><a name="label-3" id="label-3"><code>ROUND</code></a></dt><!-- RDLabel: "ROUND" -->
20
+ <dd>
21
+ 終わりを丸くします。円の中心は終点になります。</dd>
22
+ <dt><a name="label-4" id="label-4"><code>SQUARE</code></a></dt><!-- RDLabel: "SQUARE" -->
23
+ <dd>
24
+ 終わりを四角くします。正方形の中心は終点になります。</dd>
25
+ </dl>
26
+ <h2><a name="label-5" id="label-5">参考</a></h2><!-- RDLabel: "参考" -->
27
+ <ul>
28
+ <li><a href="index.html#label-0">索引</a></li>
29
+ </ul>
30
+ <h2><a name="label-6" id="label-6">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
31
+ <ul>
32
+ <li>2007-05-20: kou: スタート。</li>
33
+ </ul>
34
+
35
+ </body>
36
+ </html>
@@ -0,0 +1,39 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::LineJoinモジュール</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::LineJoinモジュール</a></h1><!-- RDLabel: "Cairo::LineJoinモジュール" -->
13
+ <p>描きのとき、ふたつの線の結合点をどのように描画するかを指定し
14
+ ます。</p>
15
+ <h2><a name="label-1" id="label-1">定数</a></h2><!-- RDLabel: "定数" -->
16
+ <dl>
17
+ <dt><a name="label-2" id="label-2"><code>BEVEL</code></a></dt><!-- RDLabel: "BEVEL" -->
18
+ <dd>
19
+ 切断結合を使います。この結合は結合点から線幅の半分の部
20
+ 分で切断します。</dd>
21
+ <dt><a name="label-3" id="label-3"><code>MITER</code></a></dt><!-- RDLabel: "MITER" -->
22
+ <dd>
23
+ 尖った(角度の付いた)角を使います。
24
+ <a href="cairo-context.html#label-74">Cairo::Context#set_miter_limit</a>を見てください。</dd>
25
+ <dt><a name="label-4" id="label-4"><code>ROUND</code></a></dt><!-- RDLabel: "ROUND" -->
26
+ <dd>
27
+ 丸い結合を使います。円の中心は結合点です。</dd>
28
+ </dl>
29
+ <h2><a name="label-5" id="label-5">参考</a></h2><!-- RDLabel: "参考" -->
30
+ <ul>
31
+ <li><a href="index.html#label-0">索引</a></li>
32
+ </ul>
33
+ <h2><a name="label-6" id="label-6">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
34
+ <ul>
35
+ <li>2007-05-20: kou: スタート。</li>
36
+ </ul>
37
+
38
+ </body>
39
+ </html>
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::LinearPatternクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::LinearPatternクラス</a></h1><!-- RDLabel: "Cairo::LinearPatternクラス" -->
13
+ <p>線形グラデーション用のパターンです。</p>
14
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
15
+ <ul>
16
+ <li>Object
17
+ <ul>
18
+ <li><a href="cairo-pattern.html">Cairo::Pattern</a>
19
+ <ul>
20
+ <li><a href="cairo-gradient-pattern.html">Cairo::GradientPattern</a>
21
+ <ul>
22
+ <li>Cairo::LinearPattern</li>
23
+ </ul></li>
24
+ </ul></li>
25
+ </ul></li>
26
+ </ul>
27
+ <h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
28
+ <dl>
29
+ <dt><a name="label-3" id="label-3"><code>Cairo::LinearPattern.new(<var>x0</var>, <var>y0</var>, <var>x1</var>, <var>y1</var>)</code></a></dt><!-- RDLabel: "Cairo::LinearPattern.new" -->
30
+ <dd>
31
+ <p>(<code>x0</code>, <code>y0</code>)と(<code>x1</code>, <code>y1</code>)で定義される
32
+ 線に沿った新しい線形グラデーション用のパターンを作りま
33
+ す。グラデーションパターンを使う前に、
34
+ <a href="cairo-gradient-pattern.html#label-3">Cairo::GradientPattern#add_color_stop</a>を使ってたくさんの
35
+ カラーストップを定義してください。</p>
36
+ <p>注: 座標はパターン空間になります。新しいパターンはユー
37
+ ザ空間と同じになっていますが、ふたつの空間の関係は
38
+ <a href="cairo-pattern.html#label-14">Cairo::Pattern#set_matrix</a>で変更できます。</p>
39
+ <ul>
40
+ <li>x0: 始点のX座標</li>
41
+ <li>y0: 始点のY座標</li>
42
+ <li>x1: 終点のX座標</li>
43
+ <li>y1: 終点のY座標</li>
44
+ <li>Returns: 新しく作成した<a href="cairo-linear-pattern.html">Cairo::LinearPattern</a>オブジェク
45
+ ト。</li>
46
+ </ul></dd>
47
+ </dl>
48
+ <h2><a name="label-4" id="label-4">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
49
+ <dl>
50
+ <dt><a name="label-5" id="label-5"><code>points</code></a></dt><!-- RDLabel: "points" -->
51
+ <dd>
52
+ 線形グラデーションのグラデーション終点を返します。
53
+ <ul>
54
+ <li>Returns: <code>[x0, y0, x1, y1]</code>
55
+ <ul>
56
+ <li>x0: 始点のX座標</li>
57
+ <li>y0: 始点のY座標</li>
58
+ <li>x1: 終点のX座標</li>
59
+ <li>y1: 終点のY座標</li>
60
+ </ul></li>
61
+ </ul></dd>
62
+ </dl>
63
+ <h2><a name="label-6" id="label-6">参考</a></h2><!-- RDLabel: "参考" -->
64
+ <ul>
65
+ <li><a href="index.html#label-0">索引</a></li>
66
+ </ul>
67
+ <h2><a name="label-7" id="label-7">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
68
+ <ul>
69
+ <li>2007-05-21: kou: スタート。</li>
70
+ </ul>
71
+
72
+ </body>
73
+ </html>
@@ -0,0 +1,329 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::Matrixクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Cairo::Matrixクラス</a></h1><!-- RDLabel: "Cairo::Matrixクラス" -->
13
+ <p>拡大・回転・剪断とそれらを組み合わせた変換であるアフィン変換
14
+ を持つオブジェクトです。点(x, y)は以下のように変換されます。</p>
15
+ <pre>x_new = xx * x + xy * y + x0
16
+ y_new = yx * x + yy * y + y0</pre>
17
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
18
+ <ul>
19
+ <li>Object
20
+ <ul>
21
+ <li>Cairo::Matrix</li>
22
+ </ul></li>
23
+ </ul>
24
+ <h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
25
+ <dl>
26
+ <dt><a name="label-3" id="label-3"><code>Cairo::Matrix.identity</code></a></dt><!-- RDLabel: "Cairo::Matrix.identity" -->
27
+ <dd>
28
+ 恒等変換をする行列を生成します。
29
+ <ul>
30
+ <li>Returns: 単位行列の<a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
31
+ </ul></dd>
32
+ <dt><a name="label-4" id="label-4"><code>Cairo::Matrix.new(<var>xx</var>, <var>yx</var>, <var>xy</var>, <var>yy</var>, <var>x0</var>, <var>y0</var>)</code></a></dt><!-- RDLabel: "Cairo::Matrix.new" -->
33
+ <dd>
34
+ 対応する成分を設定した行列を生成します。
35
+ <ul>
36
+ <li>xx: アフィン変換のxx成分。</li>
37
+ <li>yx: アフィン変換のyx成分。</li>
38
+ <li>xy: アフィン変換のxy成分。</li>
39
+ <li>yy: アフィン変換のyy成分。</li>
40
+ <li>x0: アフィン変換のX平行移動成分。</li>
41
+ <li>y0: アフィン変換のY平行移動成分。</li>
42
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
43
+ </ul></dd>
44
+ <dt><a name="label-5" id="label-5"><code>Cairo::Matrix.rotate(<var>radians</var>)</code></a></dt><!-- RDLabel: "Cairo::Matrix.rotate" -->
45
+ <dd>
46
+ <var>radians</var>回転する変換を行う行列を返します。
47
+ <ul>
48
+ <li>radians: 回転する角度(ラジアン)。正の角度は軸から正
49
+ のY軸に進む方向に回転します。cairoのデフォルトの軸の
50
+ 方向と同じように、正の角度は時計回りに回転します(?
51
+ FIXME: 逆じゃない?)。</li>
52
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
53
+ </ul></dd>
54
+ <dt><a name="label-6" id="label-6"><code>Cairo::Matrix.scale(<var>sx</var>, <var>sy</var>)</code></a></dt><!-- RDLabel: "Cairo::Matrix.scale" -->
55
+ <dd>
56
+ X方向に<var>sx</var>、Y方向に<var>sy</var>拡大する行列を返します。
57
+ <ul>
58
+ <li>sx: X方向の拡大率。</li>
59
+ <li>sy: Y方向の拡大率。</li>
60
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
61
+ </ul></dd>
62
+ <dt><a name="label-7" id="label-7"><code>Cairo::Matrix.translate(<var>tx</var>, <var>ty</var>)</code></a></dt><!-- RDLabel: "Cairo::Matrix.translate" -->
63
+ <dd>
64
+ X方向に<var>tx</var>、Y方向に<var>ty</var>平行移動を行う行列を返
65
+ します。
66
+ <ul>
67
+ <li>tx: X方向の平行移動量。</li>
68
+ <li>ty: Y方向の平行移動量。</li>
69
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
70
+ </ul></dd>
71
+ </dl>
72
+ <h2><a name="label-8" id="label-8">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
73
+ <dl>
74
+ <dt><a name="label-9" id="label-9"><code>xx</code></a></dt><!-- RDLabel: "xx" -->
75
+ <dd>
76
+ アフィン変換のxx成分を返します。
77
+ <ul>
78
+ <li>Returns: アフィン変換のxx成分。</li>
79
+ </ul></dd>
80
+ <dt><a name="label-10" id="label-10"><code>xx=(<var>xx</var>)</code></a></dt><!-- RDLabel: "xx=" -->
81
+ <dt><a name="label-11" id="label-11"><code>set_xx(<var>xx</var>)</code></a></dt><!-- RDLabel: "set_xx" -->
82
+ <dd>
83
+ アフィン変換のxx成分を設定します。
84
+ <ul>
85
+ <li>xx: アフィン変換のxx成分。</li>
86
+ </ul></dd>
87
+ <dt><a name="label-12" id="label-12"><code>yx</code></a></dt><!-- RDLabel: "yx" -->
88
+ <dd>
89
+ アフィン変換のyx成分を返します。
90
+ <ul>
91
+ <li>Returns: アフィン変換のyx成分。</li>
92
+ </ul></dd>
93
+ <dt><a name="label-13" id="label-13"><code>yx=(<var>yx</var>)</code></a></dt><!-- RDLabel: "yx=" -->
94
+ <dt><a name="label-14" id="label-14"><code>set_yx(<var>yx</var>)</code></a></dt><!-- RDLabel: "set_yx" -->
95
+ <dd>
96
+ アフィン変換のyx成分を設定します。
97
+ <ul>
98
+ <li>yx: アフィン変換のyx成分。</li>
99
+ </ul></dd>
100
+ <dt><a name="label-15" id="label-15"><code>xy</code></a></dt><!-- RDLabel: "xy" -->
101
+ <dd>
102
+ アフィン変換のxy成分を返します。
103
+ <ul>
104
+ <li>Returns: アフィン変換のxy成分。</li>
105
+ </ul></dd>
106
+ <dt><a name="label-16" id="label-16"><code>xy=(<var>xy</var>)</code></a></dt><!-- RDLabel: "xy=" -->
107
+ <dt><a name="label-17" id="label-17"><code>set_xy(<var>xy</var>)</code></a></dt><!-- RDLabel: "set_xy" -->
108
+ <dd>
109
+ アフィン変換のxy成分を設定します。
110
+ <ul>
111
+ <li>xy: アフィン変換のxy成分。</li>
112
+ </ul></dd>
113
+ <dt><a name="label-18" id="label-18"><code>yy</code></a></dt><!-- RDLabel: "yy" -->
114
+ <dd>
115
+ アフィン変換のyy成分を返します。
116
+ <ul>
117
+ <li>Returns: アフィン変換のyy成分。</li>
118
+ </ul></dd>
119
+ <dt><a name="label-19" id="label-19"><code>yy=(<var>yy</var>)</code></a></dt><!-- RDLabel: "yy=" -->
120
+ <dt><a name="label-20" id="label-20"><code>set_yy(<var>yy</var>)</code></a></dt><!-- RDLabel: "set_yy" -->
121
+ <dd>
122
+ アフィン変換のyy成分を設定します。
123
+ <ul>
124
+ <li>yy: アフィン変換のyy成分。</li>
125
+ </ul></dd>
126
+ <dt><a name="label-21" id="label-21"><code>x0</code></a></dt><!-- RDLabel: "x0" -->
127
+ <dd>
128
+ アフィン変換のX平行移動成分を返します。
129
+ <ul>
130
+ <li>Returns: アフィン変換のX平行移動成分。</li>
131
+ </ul></dd>
132
+ <dt><a name="label-22" id="label-22"><code>x0=(<var>x0</var>)</code></a></dt><!-- RDLabel: "x0=" -->
133
+ <dt><a name="label-23" id="label-23"><code>set_x0(<var>x0</var>)</code></a></dt><!-- RDLabel: "set_x0" -->
134
+ <dd>
135
+ アフィン変換のX平行移動成分を設定します。
136
+ <ul>
137
+ <li>x0: アフィン変換のX平行移動成分。</li>
138
+ </ul></dd>
139
+ <dt><a name="label-24" id="label-24"><code>y0</code></a></dt><!-- RDLabel: "y0" -->
140
+ <dd>
141
+ アフィン変換のY平行移動成分を返します。
142
+ <ul>
143
+ <li>Returns: アフィン変換のY平行移動成分。</li>
144
+ </ul></dd>
145
+ <dt><a name="label-25" id="label-25"><code>y0=(<var>y0</var>)</code></a></dt><!-- RDLabel: "y0=" -->
146
+ <dt><a name="label-26" id="label-26"><code>set_y0(<var>y0</var>)</code></a></dt><!-- RDLabel: "set_y0" -->
147
+ <dd>
148
+ アフィン変換のY平行移動成分を設定します。
149
+ <ul>
150
+ <li>y0: アフィン変換のY平行移動成分。</li>
151
+ </ul></dd>
152
+ <dt><a name="label-27" id="label-27"><code>clone</code></a></dt><!-- RDLabel: "clone" -->
153
+ <dd>
154
+ 複製を返します。<var>self</var>が凍結されているオブジェクト
155
+ なら複製されたオブジェクトも凍結されています。
156
+ <ul>
157
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
158
+ </ul></dd>
159
+ <dt><a name="label-28" id="label-28"><code>dup</code></a></dt><!-- RDLabel: "dup" -->
160
+ <dd>
161
+ 複製を返します。
162
+ <ul>
163
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
164
+ </ul></dd>
165
+ <dt><a name="label-29" id="label-29"><code>identity!</code></a></dt><!-- RDLabel: "identity!" -->
166
+ <dd>
167
+ 単位行列にします。</dd>
168
+ <dt><a name="label-30" id="label-30"><code>invert</code></a></dt><!-- RDLabel: "invert" -->
169
+ <dd>
170
+ 逆行列を返します。全ての変換行列が逆行列を持っているわ
171
+ けではありません。行列が点をつぶすなら(退化という
172
+ (FIXME))逆行列がなく、<a href="cairo-invalid-matrix-error.html">Cairo::InvalidMatrixError</a>例外
173
+ が発生します。
174
+ <ul>
175
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
176
+ </ul></dd>
177
+ <dt><a name="label-31" id="label-31"><code>invert!</code></a></dt><!-- RDLabel: "invert!" -->
178
+ <dd>
179
+ <a href="cairo-matrix.html#label-30">Cairo::Matrix#invert</a>の破壊的なバージョンです。</dd>
180
+ <dt><a name="label-32" id="label-32"><code>*(<var>other</var>)</code></a></dt><!-- RDLabel: "*" -->
181
+ <dt><a name="label-33" id="label-33"><code>multiply(<var>other</var>)</code></a></dt><!-- RDLabel: "multiply" -->
182
+ <dd>
183
+ <a href="cairo-matrix.html#label-33">Cairo::Matrix#multiply</a>の別名です。
184
+ <var>self</var>と<var>other</var>の積を返します。結果として最初
185
+ に<var>self</var>の変換を行い、次に<var>other</var>の変換を行う新
186
+ しい変換を返します。
187
+ <ul>
188
+ <li>other: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
189
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
190
+ </ul></dd>
191
+ <dt><a name="label-34" id="label-34"><code>multiply!(<var>other</var>)</code></a></dt><!-- RDLabel: "multiply!" -->
192
+ <dd>
193
+ <a href="cairo-matrix.html#label-33">Cairo::Matrix#multiply</a>の破壊的なバージョンです。
194
+ <ul>
195
+ <li>other: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
196
+ </ul></dd>
197
+ <dt><a name="label-35" id="label-35"><code>rotate(<var>radians</var>)</code></a></dt><!-- RDLabel: "rotate" -->
198
+ <dd>
199
+ <var>radians</var>回転する変換を適用した新しい行列を返します。
200
+ この結果、最初に<var>radians</var>回転し、次に<var>self</var>を適
201
+ 用する変換になります。
202
+ <ul>
203
+ <li>radians: 回転する角度(ラジアン)。正の角度は軸から正
204
+ のY軸に進む方向に回転します。cairoのデフォルトの軸の
205
+ 方向と同じように、正の角度は時計回りに回転します(?
206
+ FIXME: 逆じゃない?)。</li>
207
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
208
+ </ul></dd>
209
+ <dt><a name="label-36" id="label-36"><code>rotate!(<var>radians</var>)</code></a></dt><!-- RDLabel: "rotate!" -->
210
+ <dd>
211
+ <a href="cairo-matrix.html#label-35">Cairo::Matrix#rotate</a>の破壊的なバージョンです。
212
+ <ul>
213
+ <li>radians: 回転する角度(ラジアン)。正の角度は軸から正
214
+ のY軸に進む方向に回転します。cairoのデフォルトの軸の
215
+ 方向と同じように、正の角度は時計回りに回転します(?
216
+ FIXME: 逆じゃない?)。</li>
217
+ </ul></dd>
218
+ <dt><a name="label-37" id="label-37"><code>scale(<var>sx</var>, <var>sy</var>)</code></a></dt><!-- RDLabel: "scale" -->
219
+ <dd>
220
+ X方向に<var>sx</var>、Y方向に<var>sy</var>拡大する変換を適用した
221
+ 新しい行列を返します。この結果、最初に<var>sx</var>,
222
+ <var>sy</var>だけ拡大し、次に<var>self</var>を適用する変換になり
223
+ ます。
224
+ <ul>
225
+ <li>sx: X方向の拡大率。</li>
226
+ <li>sy: Y方向の拡大率。</li>
227
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
228
+ </ul></dd>
229
+ <dt><a name="label-38" id="label-38"><code>scale!(<var>sx</var>, <var>sy</var>)</code></a></dt><!-- RDLabel: "scale!" -->
230
+ <dd>
231
+ <a href="cairo-matrix.html#label-37">Cairo::Matrix#scale</a>の破壊的なバージョンです。
232
+ <ul>
233
+ <li>sx: X方向の拡大率。</li>
234
+ <li>sy: Y方向の拡大率。</li>
235
+ </ul></dd>
236
+ <dt><a name="label-39" id="label-39"><code>set(<var>xx</var>, <var>yx</var>, <var>xy</var>, <var>yy</var>, <var>x0</var>, <var>y0</var>)</code></a></dt><!-- RDLabel: "set" -->
237
+ <dd>
238
+ 対応する成分を設定します。
239
+ <ul>
240
+ <li>xx: アフィン変換のxx成分。</li>
241
+ <li>yx: アフィン変換のyx成分。</li>
242
+ <li>xy: アフィン変換のxy成分。</li>
243
+ <li>yy: アフィン変換のyy成分。</li>
244
+ <li>x0: アフィン変換のX平行移動成分。</li>
245
+ <li>y0: アフィン変換のY平行移動成分。</li>
246
+ </ul></dd>
247
+ <dt><a name="label-40" id="label-40"><code>to_a</code></a></dt><!-- RDLabel: "to_a" -->
248
+ <dd>
249
+ 各成分を配列として返します。
250
+ <ul>
251
+ <li>Returns: <code>[xx, yx, xy, yy, x0, y0]</code>
252
+ <ul>
253
+ <li>xx: アフィン変換のxx成分。</li>
254
+ <li>yx: アフィン変換のyx成分。</li>
255
+ <li>xy: アフィン変換のxy成分。</li>
256
+ <li>yy: アフィン変換のyy成分。</li>
257
+ <li>x0: アフィン変換のX平行移動成分。</li>
258
+ <li>y0: アフィン変換のY平行移動成分。</li>
259
+ </ul></li>
260
+ </ul></dd>
261
+ <dt><a name="label-41" id="label-41"><code>to_s</code></a></dt><!-- RDLabel: "to_s" -->
262
+ <dd>
263
+ 文字列に変換します。
264
+ <ul>
265
+ <li>Returns: 文字列表現の<a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
266
+ </ul></dd>
267
+ <dt><a name="label-42" id="label-42"><code>transform_distance(<var>dx</var>, <var>dy</var>)</code></a></dt><!-- RDLabel: "transform_distance" -->
268
+ <dd>
269
+ <p>距離ベクトル(<var>dx</var>, <var>dy</var>)を<var>self</var>で変換しま
270
+ す。<a href="cairo-matrix.html#label-43">Cairo::Matrix#transform_point</a>と似ていますが、平行移
271
+ 動成分を無視するところが違います。返るベクトルは以下の
272
+ ように計算されます。</p>
273
+ <pre>dx2 = dx * a + dy * c;
274
+ dy2 = dx * b + dy * d;</pre>
275
+ <p>アフィン変換は位置不変です。同じベクトルはいつも同じベ
276
+ クトルに変換されます。もし、(x1, y1)が(x2, y2)に変換さ
277
+ れるなら、どんなx1, x2に対しても(x1 + <var>dx</var>, y1 +
278
+ <var>dy</var>)は(x1 + <var>dx2</var>, y1 + <var>dy2</var>)に変換されま
279
+ す。</p>
280
+ <ul>
281
+ <li>dx: 距離ベクトルのX成分。</li>
282
+ <li>dy: 距離ベクトルのY成分。</li>
283
+ <li>Returns: <code>[dx2, dy2]</code>
284
+ <ul>
285
+ <li>dx2: 変換された距離ベクトルのX成分。</li>
286
+ <li>dy2: 変換された距離ベクトルのY成分。</li>
287
+ </ul></li>
288
+ </ul></dd>
289
+ <dt><a name="label-43" id="label-43"><code>transform_point(<var>x</var>, <var>y</var>)</code></a></dt><!-- RDLabel: "transform_point" -->
290
+ <dd>
291
+ 点(<var>x</var>, <var>y</var>)を<var>self</var>で変換します。
292
+ <ul>
293
+ <li>x: X座標。</li>
294
+ <li>y: Y座標。</li>
295
+ <li>Returns: <code>[x2, y2]</code>
296
+ <ul>
297
+ <li>x2: 変換されたX座標。</li>
298
+ <li>y2: 変換されたY座標。</li>
299
+ </ul></li>
300
+ </ul></dd>
301
+ <dt><a name="label-44" id="label-44"><code>translate(<var>tx</var>, <var>ty</var>)</code></a></dt><!-- RDLabel: "translate" -->
302
+ <dd>
303
+ X方向に<var>tx</var>、Y方向に<var>ty</var>平行移動を行う行列を返
304
+ します。この結果、最初に<var>tx</var>, <var>ty</var>平行移動し、次
305
+ に<var>self</var>を適用する変換になります。
306
+ <ul>
307
+ <li>tx: X方向の平行移動量。</li>
308
+ <li>ty: Y方向の平行移動量。</li>
309
+ <li>Returns: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
310
+ </ul></dd>
311
+ <dt><a name="label-45" id="label-45"><code>translate!(<var>tx</var>, <var>ty</var>)</code></a></dt><!-- RDLabel: "translate!" -->
312
+ <dd>
313
+ <a href="cairo-matrix.html#label-44">Cairo::Matrix#translate</a>の破壊的なバージョンです。
314
+ <ul>
315
+ <li>tx: X方向の平行移動量。</li>
316
+ <li>ty: Y方向の平行移動量。</li>
317
+ </ul></dd>
318
+ </dl>
319
+ <h2><a name="label-46" id="label-46">参考</a></h2><!-- RDLabel: "参考" -->
320
+ <ul>
321
+ <li><a href="index.html#label-0">索引</a></li>
322
+ </ul>
323
+ <h2><a name="label-47" id="label-47">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
324
+ <ul>
325
+ <li>2007-05-21: kou: スタート。</li>
326
+ </ul>
327
+
328
+ </body>
329
+ </html>