rdp-rmagick 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (388) hide show
  1. data/ChangeLog +769 -0
  2. data/Doxyfile +1514 -0
  3. data/README-Mac-OSX.txt +1 -0
  4. data/README.md +231 -0
  5. data/build_tarball.rake +215 -0
  6. data/doc/comtasks.html +287 -0
  7. data/doc/constants.html +1581 -0
  8. data/doc/css/doc.css +299 -0
  9. data/doc/css/popup.css +34 -0
  10. data/doc/css/ref.css +67 -0
  11. data/doc/draw.html +3269 -0
  12. data/doc/ex/InitialCoords.rb +23 -0
  13. data/doc/ex/NewCoordSys.rb +32 -0
  14. data/doc/ex/OrigCoordSys.rb +18 -0
  15. data/doc/ex/PreserveAspectRatio.rb +205 -0
  16. data/doc/ex/RotateScale.rb +37 -0
  17. data/doc/ex/Skew.rb +38 -0
  18. data/doc/ex/Use01.rb +16 -0
  19. data/doc/ex/Use02.rb +21 -0
  20. data/doc/ex/Use03.rb +16 -0
  21. data/doc/ex/ViewBox.rb +33 -0
  22. data/doc/ex/adaptive_threshold.rb +10 -0
  23. data/doc/ex/add_noise.rb +17 -0
  24. data/doc/ex/affine.rb +48 -0
  25. data/doc/ex/affine_transform.rb +20 -0
  26. data/doc/ex/arc.rb +49 -0
  27. data/doc/ex/arcpath.rb +33 -0
  28. data/doc/ex/arcs01.rb +28 -0
  29. data/doc/ex/arcs02.rb +61 -0
  30. data/doc/ex/average.rb +15 -0
  31. data/doc/ex/axes.rb +64 -0
  32. data/doc/ex/baseline_shift01.rb +18 -0
  33. data/doc/ex/bilevel_channel.rb +9 -0
  34. data/doc/ex/blur_image.rb +12 -0
  35. data/doc/ex/border.rb +10 -0
  36. data/doc/ex/bounding_box.rb +44 -0
  37. data/doc/ex/cbezier1.rb +42 -0
  38. data/doc/ex/cbezier2.rb +42 -0
  39. data/doc/ex/cbezier3.rb +42 -0
  40. data/doc/ex/cbezier4.rb +43 -0
  41. data/doc/ex/cbezier5.rb +43 -0
  42. data/doc/ex/cbezier6.rb +53 -0
  43. data/doc/ex/channel.rb +26 -0
  44. data/doc/ex/charcoal.rb +12 -0
  45. data/doc/ex/chop.rb +29 -0
  46. data/doc/ex/circle.rb +33 -0
  47. data/doc/ex/circle01.rb +17 -0
  48. data/doc/ex/clip_path.rb +60 -0
  49. data/doc/ex/coalesce.rb +60 -0
  50. data/doc/ex/color_fill_to_border.rb +29 -0
  51. data/doc/ex/color_floodfill.rb +28 -0
  52. data/doc/ex/color_histogram.rb +48 -0
  53. data/doc/ex/color_reset.rb +11 -0
  54. data/doc/ex/colorize.rb +16 -0
  55. data/doc/ex/colors.rb +64 -0
  56. data/doc/ex/compose_mask.rb +23 -0
  57. data/doc/ex/composite.rb +135 -0
  58. data/doc/ex/composite_layers.rb +53 -0
  59. data/doc/ex/composite_tiled.rb +23 -0
  60. data/doc/ex/contrast.rb +36 -0
  61. data/doc/ex/crop.rb +31 -0
  62. data/doc/ex/crop_with_gravity.rb +46 -0
  63. data/doc/ex/cubic01.rb +45 -0
  64. data/doc/ex/cubic02.rb +94 -0
  65. data/doc/ex/cycle_colormap.rb +21 -0
  66. data/doc/ex/dissolve.rb +13 -0
  67. data/doc/ex/drawcomp.rb +42 -0
  68. data/doc/ex/drop_shadow.rb +60 -0
  69. data/doc/ex/edge.rb +11 -0
  70. data/doc/ex/ellipse.rb +45 -0
  71. data/doc/ex/ellipse01.rb +22 -0
  72. data/doc/ex/emboss.rb +11 -0
  73. data/doc/ex/enhance.rb +28 -0
  74. data/doc/ex/equalize.rb +11 -0
  75. data/doc/ex/evenodd.rb +43 -0
  76. data/doc/ex/fill_pattern.rb +26 -0
  77. data/doc/ex/flatten_images.rb +36 -0
  78. data/doc/ex/flip.rb +11 -0
  79. data/doc/ex/flop.rb +11 -0
  80. data/doc/ex/font_styles.rb +34 -0
  81. data/doc/ex/fonts.rb +20 -0
  82. data/doc/ex/frame.rb +12 -0
  83. data/doc/ex/gaussian_blur.rb +11 -0
  84. data/doc/ex/get_multiline_type_metrics.rb +42 -0
  85. data/doc/ex/get_pixels.rb +48 -0
  86. data/doc/ex/get_type_metrics.rb +146 -0
  87. data/doc/ex/gradientfill.rb +27 -0
  88. data/doc/ex/grav.rb +46 -0
  89. data/doc/ex/gravity.rb +79 -0
  90. data/doc/ex/group.rb +26 -0
  91. data/doc/ex/hatchfill.rb +27 -0
  92. data/doc/ex/image.rb +46 -0
  93. data/doc/ex/images/Apple.miff +0 -0
  94. data/doc/ex/images/Ballerina.jpg +0 -0
  95. data/doc/ex/images/Ballerina3.jpg +0 -0
  96. data/doc/ex/images/Button_0.gif +0 -0
  97. data/doc/ex/images/Button_1.gif +0 -0
  98. data/doc/ex/images/Button_2.gif +0 -0
  99. data/doc/ex/images/Button_3.gif +0 -0
  100. data/doc/ex/images/Button_4.gif +0 -0
  101. data/doc/ex/images/Button_5.gif +0 -0
  102. data/doc/ex/images/Button_6.gif +0 -0
  103. data/doc/ex/images/Button_7.gif +0 -0
  104. data/doc/ex/images/Button_8.gif +0 -0
  105. data/doc/ex/images/Button_9.gif +0 -0
  106. data/doc/ex/images/Button_A.gif +0 -0
  107. data/doc/ex/images/Button_B.gif +0 -0
  108. data/doc/ex/images/Button_C.gif +0 -0
  109. data/doc/ex/images/Button_D.gif +0 -0
  110. data/doc/ex/images/Button_E.gif +0 -0
  111. data/doc/ex/images/Button_F.gif +0 -0
  112. data/doc/ex/images/Button_G.gif +0 -0
  113. data/doc/ex/images/Button_H.gif +0 -0
  114. data/doc/ex/images/Button_I.gif +0 -0
  115. data/doc/ex/images/Button_J.gif +0 -0
  116. data/doc/ex/images/Button_K.gif +0 -0
  117. data/doc/ex/images/Button_L.gif +0 -0
  118. data/doc/ex/images/Button_M.gif +0 -0
  119. data/doc/ex/images/Button_N.gif +0 -0
  120. data/doc/ex/images/Button_O.gif +0 -0
  121. data/doc/ex/images/Button_P.gif +0 -0
  122. data/doc/ex/images/Button_Q.gif +0 -0
  123. data/doc/ex/images/Button_R.gif +0 -0
  124. data/doc/ex/images/Button_S.gif +0 -0
  125. data/doc/ex/images/Button_T.gif +0 -0
  126. data/doc/ex/images/Button_U.gif +0 -0
  127. data/doc/ex/images/Button_V.gif +0 -0
  128. data/doc/ex/images/Button_W.gif +0 -0
  129. data/doc/ex/images/Button_X.gif +0 -0
  130. data/doc/ex/images/Button_Y.gif +0 -0
  131. data/doc/ex/images/Button_Z.gif +0 -0
  132. data/doc/ex/images/Cheetah.jpg +0 -0
  133. data/doc/ex/images/Coffee.wmf +0 -0
  134. data/doc/ex/images/Flower_Hat.jpg +0 -0
  135. data/doc/ex/images/Gold_Statue.jpg +0 -0
  136. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  137. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  138. data/doc/ex/images/Leaf.miff +0 -0
  139. data/doc/ex/images/No.wmf +0 -0
  140. data/doc/ex/images/Polynesia.jpg +0 -0
  141. data/doc/ex/images/Red_Rocks.jpg +0 -0
  142. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  143. data/doc/ex/images/Shorts.jpg +0 -0
  144. data/doc/ex/images/Snake.wmf +0 -0
  145. data/doc/ex/images/Violin.jpg +0 -0
  146. data/doc/ex/images/Yellow_Rose.miff +0 -0
  147. data/doc/ex/images/big-duck.gif +0 -0
  148. data/doc/ex/images/duck.gif +0 -0
  149. data/doc/ex/images/duck0.gif +0 -0
  150. data/doc/ex/images/duck1.gif +0 -0
  151. data/doc/ex/images/duck10.gif +0 -0
  152. data/doc/ex/images/duck11.gif +0 -0
  153. data/doc/ex/images/duck12.gif +0 -0
  154. data/doc/ex/images/duck13.gif +0 -0
  155. data/doc/ex/images/duck14.gif +0 -0
  156. data/doc/ex/images/duck15.gif +0 -0
  157. data/doc/ex/images/duck2.gif +0 -0
  158. data/doc/ex/images/duck3.gif +0 -0
  159. data/doc/ex/images/duck4.gif +0 -0
  160. data/doc/ex/images/duck5.gif +0 -0
  161. data/doc/ex/images/duck6.gif +0 -0
  162. data/doc/ex/images/duck7.gif +0 -0
  163. data/doc/ex/images/duck8.gif +0 -0
  164. data/doc/ex/images/duck9.gif +0 -0
  165. data/doc/ex/images/graydient230x6.gif +0 -0
  166. data/doc/ex/images/logo400x83.gif +0 -0
  167. data/doc/ex/images/model.miff +0 -0
  168. data/doc/ex/images/notimplemented.gif +0 -0
  169. data/doc/ex/images/smile.miff +0 -0
  170. data/doc/ex/images/spin.gif +0 -0
  171. data/doc/ex/implode.rb +34 -0
  172. data/doc/ex/level.rb +11 -0
  173. data/doc/ex/level_colors.rb +11 -0
  174. data/doc/ex/line.rb +42 -0
  175. data/doc/ex/line01.rb +23 -0
  176. data/doc/ex/mask.rb +36 -0
  177. data/doc/ex/matte_fill_to_border.rb +40 -0
  178. data/doc/ex/matte_floodfill.rb +33 -0
  179. data/doc/ex/matte_replace.rb +40 -0
  180. data/doc/ex/median_filter.rb +28 -0
  181. data/doc/ex/modulate.rb +11 -0
  182. data/doc/ex/mono.rb +23 -0
  183. data/doc/ex/morph.rb +26 -0
  184. data/doc/ex/mosaic.rb +35 -0
  185. data/doc/ex/motion_blur.rb +11 -0
  186. data/doc/ex/negate.rb +11 -0
  187. data/doc/ex/negate_channel.rb +9 -0
  188. data/doc/ex/nested_rvg.rb +21 -0
  189. data/doc/ex/nonzero.rb +43 -0
  190. data/doc/ex/normalize.rb +11 -0
  191. data/doc/ex/oil_paint.rb +11 -0
  192. data/doc/ex/opacity.rb +37 -0
  193. data/doc/ex/ordered_dither.rb +11 -0
  194. data/doc/ex/path.rb +64 -0
  195. data/doc/ex/pattern1.rb +25 -0
  196. data/doc/ex/pattern2.rb +26 -0
  197. data/doc/ex/polaroid.rb +28 -0
  198. data/doc/ex/polygon.rb +24 -0
  199. data/doc/ex/polygon01.rb +23 -0
  200. data/doc/ex/polyline.rb +23 -0
  201. data/doc/ex/polyline01.rb +23 -0
  202. data/doc/ex/posterize.rb +8 -0
  203. data/doc/ex/preview.rb +9 -0
  204. data/doc/ex/qbezierpath.rb +52 -0
  205. data/doc/ex/quad01.rb +36 -0
  206. data/doc/ex/quantize-m.rb +25 -0
  207. data/doc/ex/radial_blur.rb +9 -0
  208. data/doc/ex/raise.rb +8 -0
  209. data/doc/ex/random_threshold_channel.rb +13 -0
  210. data/doc/ex/rect01.rb +15 -0
  211. data/doc/ex/rect02.rb +22 -0
  212. data/doc/ex/rectangle.rb +35 -0
  213. data/doc/ex/reduce_noise.rb +28 -0
  214. data/doc/ex/remap.rb +12 -0
  215. data/doc/ex/remap_images.rb +21 -0
  216. data/doc/ex/resize_to_fill.rb +10 -0
  217. data/doc/ex/resize_to_fit.rb +10 -0
  218. data/doc/ex/roll.rb +9 -0
  219. data/doc/ex/rotate.rb +45 -0
  220. data/doc/ex/rotate_f.rb +14 -0
  221. data/doc/ex/roundrect.rb +34 -0
  222. data/doc/ex/rubyname.rb +30 -0
  223. data/doc/ex/rvg_clippath.rb +14 -0
  224. data/doc/ex/rvg_linecap.rb +43 -0
  225. data/doc/ex/rvg_linejoin.rb +41 -0
  226. data/doc/ex/rvg_opacity.rb +19 -0
  227. data/doc/ex/rvg_pattern.rb +26 -0
  228. data/doc/ex/rvg_stroke_dasharray.rb +12 -0
  229. data/doc/ex/segment.rb +11 -0
  230. data/doc/ex/sepiatone.rb +8 -0
  231. data/doc/ex/shade.rb +11 -0
  232. data/doc/ex/shadow.rb +31 -0
  233. data/doc/ex/shave.rb +15 -0
  234. data/doc/ex/shear.rb +10 -0
  235. data/doc/ex/sketch.rb +18 -0
  236. data/doc/ex/skewx.rb +52 -0
  237. data/doc/ex/skewy.rb +47 -0
  238. data/doc/ex/smile.rb +125 -0
  239. data/doc/ex/solarize.rb +11 -0
  240. data/doc/ex/sparse_color.rb +55 -0
  241. data/doc/ex/splice.rb +9 -0
  242. data/doc/ex/spread.rb +11 -0
  243. data/doc/ex/stegano.rb +55 -0
  244. data/doc/ex/stroke_dasharray.rb +43 -0
  245. data/doc/ex/stroke_fill.rb +11 -0
  246. data/doc/ex/stroke_linecap.rb +44 -0
  247. data/doc/ex/stroke_linejoin.rb +48 -0
  248. data/doc/ex/stroke_width.rb +49 -0
  249. data/doc/ex/swirl.rb +17 -0
  250. data/doc/ex/text.rb +37 -0
  251. data/doc/ex/text01.rb +17 -0
  252. data/doc/ex/text_align.rb +36 -0
  253. data/doc/ex/text_antialias.rb +38 -0
  254. data/doc/ex/text_styles.rb +21 -0
  255. data/doc/ex/text_undercolor.rb +28 -0
  256. data/doc/ex/texture_fill_to_border.rb +34 -0
  257. data/doc/ex/texture_floodfill.rb +32 -0
  258. data/doc/ex/texturefill.rb +25 -0
  259. data/doc/ex/threshold.rb +13 -0
  260. data/doc/ex/to_blob.rb +14 -0
  261. data/doc/ex/translate.rb +39 -0
  262. data/doc/ex/transparent.rb +38 -0
  263. data/doc/ex/transpose.rb +9 -0
  264. data/doc/ex/transverse.rb +9 -0
  265. data/doc/ex/tref01.rb +25 -0
  266. data/doc/ex/triangle01.rb +16 -0
  267. data/doc/ex/trim.rb +24 -0
  268. data/doc/ex/tspan01.rb +18 -0
  269. data/doc/ex/tspan02.rb +19 -0
  270. data/doc/ex/tspan03.rb +21 -0
  271. data/doc/ex/unsharp_mask.rb +28 -0
  272. data/doc/ex/viewex.rb +35 -0
  273. data/doc/ex/vignette.rb +12 -0
  274. data/doc/ex/watermark.rb +28 -0
  275. data/doc/ex/wave.rb +9 -0
  276. data/doc/ex/wet_floor.rb +59 -0
  277. data/doc/ex/writing_mode01.rb +27 -0
  278. data/doc/ex/writing_mode02.rb +26 -0
  279. data/doc/ilist.html +2056 -0
  280. data/doc/image1.html +4680 -0
  281. data/doc/image2.html +3665 -0
  282. data/doc/image3.html +4522 -0
  283. data/doc/imageattrs.html +1638 -0
  284. data/doc/imusage.html +514 -0
  285. data/doc/index.html +416 -0
  286. data/doc/info.html +1499 -0
  287. data/doc/magick.html +565 -0
  288. data/doc/optequiv.html +2435 -0
  289. data/doc/rvg.html +975 -0
  290. data/doc/rvgclip.html +248 -0
  291. data/doc/rvggroup.html +305 -0
  292. data/doc/rvgimage.html +289 -0
  293. data/doc/rvgpattern.html +475 -0
  294. data/doc/rvgshape.html +406 -0
  295. data/doc/rvgstyle.html +270 -0
  296. data/doc/rvgtext.html +465 -0
  297. data/doc/rvgtspan.html +238 -0
  298. data/doc/rvgtut.html +530 -0
  299. data/doc/rvguse.html +145 -0
  300. data/doc/rvgxform.html +294 -0
  301. data/doc/scripts/doc.js +22 -0
  302. data/doc/scripts/stripeTables.js +23 -0
  303. data/doc/struct.html +1339 -0
  304. data/doc/usage.html +1621 -0
  305. data/examples/constitute.rb +7 -0
  306. data/examples/crop_with_gravity.rb +46 -0
  307. data/examples/demo.rb +324 -0
  308. data/examples/describe.rb +44 -0
  309. data/examples/find_similar_region.rb +34 -0
  310. data/examples/histogram.rb +325 -0
  311. data/examples/identify.rb +187 -0
  312. data/examples/image_opacity.rb +29 -0
  313. data/examples/import_export.rb +31 -0
  314. data/examples/pattern_fill.rb +38 -0
  315. data/examples/rotating_text.rb +45 -0
  316. data/examples/spinner.rb +50 -0
  317. data/examples/thumbnail.rb +65 -0
  318. data/examples/vignette.rb +79 -0
  319. data/ext/RMagick/Makefile +180 -0
  320. data/ext/RMagick/RMagick2.so +0 -0
  321. data/ext/RMagick/extconf.h +119 -0
  322. data/ext/RMagick/extconf.rb +406 -0
  323. data/ext/RMagick/mkmf.log +3022 -0
  324. data/ext/RMagick/rmagick.c +394 -0
  325. data/ext/RMagick/rmagick.h +1307 -0
  326. data/ext/RMagick/rmagick.o +0 -0
  327. data/ext/RMagick/rmdraw.c +1991 -0
  328. data/ext/RMagick/rmdraw.o +0 -0
  329. data/ext/RMagick/rmenum.c +1224 -0
  330. data/ext/RMagick/rmenum.o +0 -0
  331. data/ext/RMagick/rmfill.c +717 -0
  332. data/ext/RMagick/rmfill.o +0 -0
  333. data/ext/RMagick/rmilist.c +1217 -0
  334. data/ext/RMagick/rmilist.o +0 -0
  335. data/ext/RMagick/rmimage.c +15099 -0
  336. data/ext/RMagick/rmimage.o +0 -0
  337. data/ext/RMagick/rminfo.c +2567 -0
  338. data/ext/RMagick/rminfo.o +0 -0
  339. data/ext/RMagick/rmmain.c +1705 -0
  340. data/ext/RMagick/rmmain.o +0 -0
  341. data/ext/RMagick/rmmontage.c +511 -0
  342. data/ext/RMagick/rmmontage.o +0 -0
  343. data/ext/RMagick/rmpixel.c +1103 -0
  344. data/ext/RMagick/rmpixel.o +0 -0
  345. data/ext/RMagick/rmstruct.c +1047 -0
  346. data/ext/RMagick/rmstruct.o +0 -0
  347. data/ext/RMagick/rmutil.c +1730 -0
  348. data/ext/RMagick/rmutil.o +0 -0
  349. data/lib/RMagick.rb +1962 -0
  350. data/lib/rvg/clippath.rb +48 -0
  351. data/lib/rvg/container.rb +131 -0
  352. data/lib/rvg/deep_equal.rb +56 -0
  353. data/lib/rvg/describable.rb +53 -0
  354. data/lib/rvg/embellishable.rb +417 -0
  355. data/lib/rvg/misc.rb +740 -0
  356. data/lib/rvg/paint.rb +55 -0
  357. data/lib/rvg/pathdata.rb +131 -0
  358. data/lib/rvg/rvg.rb +283 -0
  359. data/lib/rvg/stretchable.rb +168 -0
  360. data/lib/rvg/stylable.rb +124 -0
  361. data/lib/rvg/text.rb +187 -0
  362. data/lib/rvg/to_c.rb +103 -0
  363. data/lib/rvg/transformable.rb +133 -0
  364. data/lib/rvg/units.rb +66 -0
  365. data/metaconfig +7 -0
  366. data/post-clean.rb +12 -0
  367. data/post-install.rb +50 -0
  368. data/post-setup.rb +254 -0
  369. data/rmagick.gemspec +20 -0
  370. data/setup.rb +1585 -0
  371. data/test/Draw.rb +121 -0
  372. data/test/Image1.rb +762 -0
  373. data/test/Image2.rb +1308 -0
  374. data/test/Image3.rb +1001 -0
  375. data/test/ImageList1.rb +808 -0
  376. data/test/ImageList2.rb +389 -0
  377. data/test/Image_attributes.rb +682 -0
  378. data/test/Import_Export.rb +116 -0
  379. data/test/Info.rb +349 -0
  380. data/test/Magick.rb +364 -0
  381. data/test/Pixel.rb +120 -0
  382. data/test/Preview.rb +62 -0
  383. data/test/all_basic.rb +39 -0
  384. data/test/cmyk.icm +0 -0
  385. data/test/srgb.icm +0 -0
  386. data/test/test.0 +0 -0
  387. data/uninstall.rb +74 -0
  388. metadata +455 -0
@@ -0,0 +1,975 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <meta name="generator" content=
7
+ "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org" />
8
+
9
+ <title>RMagick 0.0.0: RVG Reference: RVG Class</title>
10
+ <meta http-equiv="Content-Type" content=
11
+ "text/html; charset=us-ascii" />
12
+ <meta name="GENERATOR" content="Quanta Plus" />
13
+ <meta name="Copyright" content=
14
+ "Copyright (C) 2006 by Timothy P. Hunter" />
15
+ <link rel="stylesheet" type="text/css" href="css/doc.css" />
16
+ <script type="text/javascript" src="scripts/doc.js">
17
+ </script>
18
+ <script type="text/javascript">
19
+ //<![CDATA[
20
+ //]]>
21
+ </script>
22
+ <style type="text/css">
23
+ /*<![CDATA[*/
24
+ }
25
+ /*]]>*/
26
+ </style>
27
+ </head>
28
+
29
+ <body>
30
+ <h6 id="header">RMagick 0.0.0 User's Guide and Reference</h6>
31
+
32
+ <div class="nav">
33
+ &laquo;&nbsp;<a href="rvgtut.html">Prev</a> | <a href=
34
+ "index.html">Contents</a> | <a href=
35
+ "rvggroup.html">Next</a>&nbsp;&raquo;
36
+ </div>
37
+
38
+ <h1>class RVG <span class="superclass">&lt; Object</span></h1>
39
+
40
+ <div id="toc">
41
+ <h2>Table of Contents</h2>
42
+
43
+ <h3>class methods</h3>
44
+
45
+ <ul>
46
+ <li><a href="#RVG_new">new</a></li>
47
+ </ul>
48
+
49
+ <h3>attributes</h3>
50
+
51
+ <div class="toccol">
52
+ <ul>
53
+ <li><a href=
54
+ "#RVG_background_fill">background_fill=</a></li>
55
+
56
+ <li><a href=
57
+ "#RVG_background_fill_opacity">background_fill_opacity=</a></li>
58
+
59
+ <li><a href=
60
+ "#RVG_background_image">background_image=</a></li>
61
+
62
+ <li><a href=
63
+ "#RVG_background_pattern">background_pattern=</a></li>
64
+
65
+ <li><a href=
66
+ "#RVG_background_position">background_position=</a></li>
67
+ </ul>
68
+ </div>
69
+
70
+ <div class="toccol">
71
+ <ul>
72
+ <li><a href="#RVG_canvas">canvas</a></li>
73
+
74
+ <li><a href="#RVG_desc">desc, desc=</a></li>
75
+
76
+ <li><a href="#RVG_height">height</a></li>
77
+
78
+ <li><a href="#RVG_metadata">metadata, metadata=</a></li>
79
+ </ul>
80
+ </div>
81
+
82
+ <div class="toccol">
83
+ <ul>
84
+ <li><a href="#RVG_title">title, title=</a></li>
85
+
86
+ <li><a href="#RVG_width">width</a></li>
87
+
88
+ <li><a href="#RVG_x">x</a></li>
89
+
90
+ <li><a href="#RVG_y">y</a></li>
91
+ </ul>
92
+ </div>
93
+
94
+ <h3>instance methods</h3>
95
+
96
+ <div>
97
+ <div class="toccol">
98
+ <ul>
99
+ <li><a href="#RVG_draw">draw</a></li>
100
+
101
+ <li><a href="#RVG_g">g</a></li>
102
+
103
+ <li><a href="#RVG_image">image</a></li>
104
+ </ul>
105
+ </div>
106
+
107
+ <div class="toccol">
108
+ <ul>
109
+ <li><a href=
110
+ "#RVG_preserve_aspect_ratio">preserve_aspect_ratio</a></li>
111
+
112
+ <li><a href="#RVG_rvg">rvg</a></li>
113
+
114
+ <li><a href="#RVG_text">text</a></li>
115
+ </ul>
116
+ </div>
117
+
118
+ <div class="toccol">
119
+ <ul>
120
+ <li><a href="#RVG_use">use</a></li>
121
+
122
+ <li><a href="#RVG_viewbox">viewbox</a></li>
123
+ </ul>
124
+ </div>
125
+ </div>
126
+
127
+ <h3>shared methods</h3>
128
+
129
+ <p>In addition to the methods listed above, <code>class
130
+ RVG</code> also implements the <a href=
131
+ "rvgstyle.html">styles</a> method, the <a href=
132
+ "rvgshape.html">shape methods</a> and the <a href=
133
+ "rvgxform.html">transform methods</a>.</p>
134
+
135
+ <h3>Units</h3>
136
+
137
+ <div class="toccol">
138
+ <ul>
139
+ <li><a href="#units">Units conversion methods</a></li>
140
+ </ul>
141
+ </div>
142
+ </div>
143
+
144
+ <h2 class="methods">class methods</h2>
145
+
146
+ <div class="sig">
147
+ <h3 id="RVG_new">new</h3>
148
+
149
+ <p>RVG.new(<span class="arg">width</span>=nil, <span class=
150
+ "arg">height</span>=nil) [ <span class="arg">{ |canvas| drawing
151
+ method calls }</span> ] -&gt; <em>rvg</em></p>
152
+ </div>
153
+
154
+ <div class="desc">
155
+ <h4>Description</h4>
156
+
157
+ <p>Creates a container that can have its own coordinate system.
158
+ Within the block, call drawing methods on <em>canvas</em> to
159
+ render shapes, text, and raster images in the container.</p>
160
+
161
+ <p>An RVG object is always the outermost container for a
162
+ drawing. Call the <a href="#RVG_draw">draw</a> method on the
163
+ returned RVG object to produce the final image.</p>
164
+
165
+ <h4>Arguments</h4>
166
+
167
+ <p>If the RVG object is the outermost container, <span class=
168
+ "arg">width</span> and <span class="arg">height</span> are
169
+ required and specify the width and height of the final drawing
170
+ in pixels. You can call <a href="#units">conversion methods</a>
171
+ to use units such as inches and millimeters instead of
172
+ pixels.</p>
173
+
174
+ <p>Otherwise, <span class="arg">width</span> and <span class=
175
+ "arg">height</span> specify the area of the viewbox. If the RVG
176
+ object will be used as an argument to the <a href=
177
+ "rvguse.html#use">use</a> method, then <span class=
178
+ "arg">width</span> and <span class="arg">height</span> may be
179
+ omitted here, then specified as arguments to
180
+ <code>use</code>.</p>
181
+
182
+ <h4>Returns</h4>
183
+
184
+ <p>An RVG object</p>
185
+
186
+ <h4>Example</h4>
187
+
188
+ <p>See the <a href="rvgtut.html">tutorial</a> for a simple
189
+ example. The image below demonstrates an advanced use of
190
+ <code>RVG.new</code>. This example creates an RVG object that
191
+ draws an orange-and-green target. The <span class=
192
+ "arg">width</span> and <span class="arg">height</span>
193
+ arguments are omitted in the <code>RVG.new</code> call.
194
+ Instead, the viewport width and height are specified as
195
+ arguments to 4 invocations of <a href=
196
+ "rvguse.html#use">use</a>. Each <code>use</code> specifies a
197
+ different viewport size, so the same RVG object draws 4
198
+ different-sized targets.</p>
199
+
200
+ <p>Click the image to see the example script.</p>
201
+
202
+ <p><a href="javascript:popup('nested_rvg.rb.html')"><img src=
203
+ "ex/nested_rvg.gif" title="Click to see the example script"
204
+ alt="nested RVG example" /></a></p>
205
+
206
+ <h4>See also</h4>
207
+
208
+ <p><a href="rvggroup.html">Group</a></p>
209
+ </div>
210
+
211
+ <h2 class="methods">attributes</h2>
212
+
213
+ <div class="sig">
214
+ <h3 id='RVG_background_fill'>background_fill=</h3>
215
+
216
+ <p><span class="arg">canvas</span>.background_fill =
217
+ <span class="arg">value</span></p>
218
+ </div>
219
+
220
+ <div class="desc">
221
+ <h4>Description</h4>
222
+
223
+ <p>Specify a background fill color. The attribute value may be
224
+ either a <a href="struct.html#Pixel">pixel</a> or a <a href=
225
+ "imusage.html#color_names">color name.</a> The default fill
226
+ color is "#00000000". This color is usually called "none". This
227
+ attribute has no effect on nested RVG objects.</p>
228
+
229
+ <h4>Example</h4>
230
+ <pre>
231
+ canvas.background_fill = 'white'
232
+ </pre>
233
+
234
+ <h4>Returns</h4><span class="arg">value</span>
235
+ </div>
236
+
237
+ <div class="sig">
238
+ <h3 id='RVG_background_fill_opacity'>
239
+ background_fill_opacity=</h3>
240
+
241
+ <p><span class="arg">canvas</span>.background_fill_opacity =
242
+ <span class="arg">value</span></p>
243
+ </div>
244
+
245
+ <div class="desc">
246
+ <h4>Description</h4>
247
+
248
+ <p>Specify the opacity of the background fill color when the
249
+ <a href="#RVG_background_fill">background fill</a> is not the
250
+ default. The value is a number between 0.0 (fully transparent)
251
+ and 1.0 (fully opaque). The default is 1.0. The attribute is
252
+ ignored unless <code>background_fill</code> is specified. This
253
+ attribute has no effect on nested RVG objects.</p>
254
+
255
+ <h4>Example</h4>
256
+ <pre>
257
+ canvas.background_fill = 'white'
258
+ canvas.background_fill_opacity = 0.50
259
+ </pre>
260
+
261
+ <h4>Returns</h4><span class="arg">value</span>
262
+ </div>
263
+
264
+ <div class="sig">
265
+ <h3 id='RVG_background_image'>background_image=</h3>
266
+
267
+ <p><span class="arg">canvas</span>.background_image =
268
+ <span class="arg">image</span></p>
269
+ </div>
270
+
271
+ <div class="desc">
272
+ <h4>Description</h4>
273
+
274
+ <p>Specify an image to be used as the canvas background. The
275
+ value is an <a href="image1.html#new">Image</a> object. This
276
+ attribute has no effect on nested RVG objects.</p>
277
+
278
+ <h4>Example</h4>
279
+ <pre>
280
+ canvas.background_image = Magick::Image.read('myBackground.gif').first
281
+ </pre>
282
+
283
+ <h4>Returns</h4><span class="arg">image</span>
284
+
285
+ <h4>See also</h4>
286
+
287
+ <p><a href=
288
+ "#RVG_background_position">background_position=</a></p>
289
+ </div>
290
+
291
+ <div class="sig">
292
+ <h3 id='RVG_background_pattern'>background_pattern=</h3>
293
+
294
+ <p><span class="arg">canvas</span>.background_pattern =
295
+ <span class="arg">fill</span></p>
296
+ </div>
297
+
298
+ <div class="desc">
299
+ <h4>Description</h4>
300
+
301
+ <p>Specify an <a href="struct.html#fill">Fill object</a> to
302
+ fill the canvas background. This attribute has no effect on
303
+ nested RVG objects.</p>
304
+
305
+ <h4>Example</h4>
306
+ <pre>
307
+ canvas.background_pattern = Magick::GradientFill.new(0, 0, 0, 100, "#900", "#000")
308
+ </pre>
309
+
310
+ <h4>Returns</h4><p>a Fill object</p>
311
+ </div>
312
+
313
+ <div class="sig">
314
+ <h3 id='RVG_background_position'>background_position=</h3>
315
+
316
+ <p><span class="arg">canvas</span>.background_position =
317
+ <span class="arg">pos</span></p>
318
+ </div>
319
+
320
+ <div class="desc">
321
+ <h4>Description</h4>
322
+
323
+ <p>If the dimensions of the image specified by <a href=
324
+ "#RVG_background_image">background_image</a> do not exactly
325
+ match the canvas dimensions, this attribute specifies how to
326
+ position the image on the background. This attribute has no
327
+ effect on nested RVG objects.</p>
328
+
329
+ <h4>Argument</h4>The value of <span class="arg">pos</span> can
330
+ be any one of the following symbols :
331
+
332
+ <dl>
333
+ <dt>:scaled</dt>
334
+
335
+ <dd>The image is scaled to fit. The image proportions are not
336
+ retained.</dd>
337
+
338
+ <dt>:tiled</dt>
339
+
340
+ <dd>The image is tiled across the background.</dd>
341
+
342
+ <dt>:fit</dt>
343
+
344
+ <dd>The image is scaled to fit. The image proportions are
345
+ retained. Any part of the background that is not covered by
346
+ the image is colored with the <a href=
347
+ "#RVG_background_color">background color</a>.</dd>
348
+ </dl>
349
+
350
+ <h4>Example</h4>
351
+ <pre>
352
+ canvas.background_image = Magick::Image.read('myBackground.gif').first
353
+ canvas.background_position = :scaled
354
+ </pre>
355
+
356
+ <h4>Returns</h4><span class="arg">pos</span>
357
+ </div>
358
+
359
+ <div class="sig">
360
+ <h3 id='RVG_canvas'>canvas</h3>
361
+
362
+ <p><span class="arg">rvg</span>.canvas -&gt; image</p>
363
+ </div>
364
+
365
+ <div class="desc">
366
+ <h4>Description</h4>
367
+
368
+ <p>After the <a href="#RVG_draw">draw</a> method has been used,
369
+ returns the rendered image. This is the same image that
370
+ <a href="#RVG_draw">draw</a> returns.</p>
371
+
372
+ <h4>Returns</h4>
373
+
374
+ <p>An image</p>
375
+ </div>
376
+
377
+ <div class="sig">
378
+ <h3 id="RVG_desc">desc, desc=</h3>
379
+
380
+ <p><span class="arg">rvg</span>.desc -&gt; <span class=
381
+ "arg">string</span><br />
382
+ <span class="arg">rvg</span>.desc = <span class=
383
+ "arg">string</span></p>
384
+ </div>
385
+
386
+ <div class="desc">
387
+ <h4>Description</h4>Use the <code>desc</code> attribute to
388
+ assign a text description to the drawing. The description will
389
+ be assigned to the "desc" property of the resulting image. This
390
+ attribute has no effect on nested RVG objects.
391
+ </div>
392
+
393
+ <div class="sig">
394
+ <h3 id='RVG_height'>height</h3>
395
+
396
+ <p><span class="arg">rvg</span>.height -&gt; <span class=
397
+ "arg">height</span></p>
398
+ </div>
399
+
400
+ <div class="desc">
401
+ <h4>Description</h4>
402
+
403
+ <p>The height of the RVG object in user coordinates.</p>
404
+
405
+ <h4>See also</h4>
406
+
407
+ <p><a href="#RVG_width">width</a></p>
408
+ </div>
409
+
410
+ <div class="sig">
411
+ <h3 id="RVG_metadata">metadata, metadata=</h3>
412
+
413
+ <p><span class="arg">rvg</span>.metadata -&gt; <span class=
414
+ "arg">string</span><br />
415
+ <span class="arg">rvg</span>.metadata = <span class=
416
+ "arg">string</span></p>
417
+ </div>
418
+
419
+ <div class="desc">
420
+ <h4>Description</h4>Use the <code>metadata</code> attribute to
421
+ assign additional metadata to the drawing. The metadata string
422
+ will be assigned to the "metadata" property of the resulting
423
+ image. This attribute has no effect on nested RVG objects.
424
+ </div>
425
+
426
+ <div class="sig">
427
+ <h3 id="RVG_title">title, title=</h3>
428
+
429
+ <p><span class="arg">rvg</span>.title -&gt; <span class=
430
+ "arg">string</span><br />
431
+ <span class="arg">rvg</span>.title = <span class=
432
+ "arg">string</span></p>
433
+ </div>
434
+
435
+ <div class="desc">
436
+ <h4>Description</h4>Use the <code>title</code> attribute to
437
+ assign a title to the drawing. The title will be assigned to
438
+ the "title" property of the resulting image. This attribute has
439
+ no effect on nested RVG objects.
440
+ </div>
441
+
442
+ <div class="sig">
443
+ <h3 id='RVG_width'>width</h3>
444
+
445
+ <p><span class="arg">rvg</span>.width -&gt; <span class=
446
+ "arg">width</span></p>
447
+ </div>
448
+
449
+ <div class="desc">
450
+ <h4>Description</h4>
451
+
452
+ <p>The width of the RVG object in user coordinates.</p>
453
+
454
+ <h4>See also</h4>
455
+
456
+ <p><a href="#RVG_height">height</a></p>
457
+ </div>
458
+
459
+ <div class="sig">
460
+ <h3 id='RVG_x'>x</h3>
461
+
462
+ <p><span class="arg">rvg</span>.x -&gt; <span class=
463
+ "arg">x-offset</span></p>
464
+ </div>
465
+
466
+ <div class="desc">
467
+ <h4>Description</h4>
468
+
469
+ <p>If this RVG object is nested within another RVG object,
470
+ returns the x-offset in user coordinates from the upper-left
471
+ corner of the enclosing RVG object.</p>
472
+
473
+ <h4>See also</h4>
474
+
475
+ <p><a href="#RVG_y">y</a></p>
476
+ </div>
477
+
478
+ <div class="sig">
479
+ <h3 id='RVG_y'>y</h3>
480
+
481
+ <p><span class="arg">rvg</span>.y -&gt; <span class=
482
+ "arg">y-offset</span></p>
483
+ </div>
484
+
485
+ <div class="desc">
486
+ <h4>Description</h4>
487
+
488
+ <p>If this RVG object is nested within another RVG object,
489
+ returns the y-offset in user coordinates from the upper-left
490
+ corner of the enclosing RVG object.</p>
491
+
492
+ <h4>See also</h4>
493
+
494
+ <p><a href="#RVG_x">x</a></p>
495
+ </div>
496
+
497
+ <h2 class="methods">instance methods</h2>
498
+
499
+ <div class="sig">
500
+ <h3 id='RVG_draw'>draw</h3>
501
+
502
+ <p><span class="arg">rvg</span>.draw -&gt; image</p>
503
+ </div>
504
+
505
+ <div class="desc">
506
+ <h4>Description</h4>
507
+
508
+ <p>Causes all the drawing objects that have been added to the
509
+ canvas to be rendered.</p>
510
+
511
+ <p>Regardless of the order in which methods were called,
512
+ <code>draw</code> executes the methods in this order:</p>
513
+
514
+ <ol>
515
+ <li>transforms, in the order they were called.</li>
516
+
517
+ <li><code>viewbox</code> and
518
+ <code>preserve_aspect_ratio</code></li>
519
+
520
+ <li>styles</li>
521
+
522
+ <li>nested groups, RVG objects, shapes, text, and images, in
523
+ the order they were added to the containing object</li>
524
+ </ol>
525
+
526
+ <p>Nested groups and RVG objects also follow this sequence.</p>
527
+
528
+ <h4>Returns</h4>
529
+
530
+ <p>An image</p>
531
+
532
+ <h4>Example</h4>
533
+ <pre>
534
+ img = rvg.draw
535
+ img.write('myDrawing.jpg')
536
+ </pre>
537
+ </div>
538
+
539
+ <div class="sig">
540
+ <h3 id='RVG_g'>g</h3>
541
+
542
+ <p><span class="arg">rvg.</span>g [{|<span class=
543
+ "arg">grp</span>| ...}] -&gt; <span class=
544
+ "arg">group</span></p>
545
+ </div>
546
+
547
+ <div class="desc">
548
+ <h4>Description</h4>
549
+
550
+ <p>Calls <a href="rvggroup.html#new">RVG::Group.new</a> to
551
+ construct a group and adds it to the enclosing RVG object.
552
+ Yields to a block if one is present, passing the new group as
553
+ an argument.</p>
554
+
555
+ <h4>Returns</h4>
556
+
557
+ <p>Returns the new group, so <code>RVG::Group</code> methods
558
+ can be chained to this method.</p>
559
+ </div>
560
+
561
+ <div class="sig">
562
+ <h3 id='RVG_image'>image</h3>
563
+
564
+ <p><span class="arg">rvg.</span>image(<span class=
565
+ "arg">raster_image</span>, <span class="arg">width</span>=nil,
566
+ <span class="arg">height</span>=nil, <span class=
567
+ "arg">x</span>=0, <span class="arg">y</span>=0) -&gt;
568
+ <span class="arg">image</span></p>
569
+ </div>
570
+
571
+ <div class="desc">
572
+ <h4>Description</h4>
573
+
574
+ <p>Calls <a href="rvgimage.html#new">RVG::Image.new</a> to
575
+ construct an image and adds it to the enclosing RVG object.</p>
576
+
577
+ <h4>Returns</h4>
578
+
579
+ <p>Returns the new image, so <code>RVG::Image</code> methods
580
+ can be chained to this method.</p>
581
+
582
+ <h4>Notes</h4>
583
+
584
+ <p>An <code>RVG::Image</code> object is <em>not</em> the same
585
+ as a <a href="image1.html">Magick::Image</a> object!</p>
586
+ </div>
587
+
588
+ <div class="sig">
589
+ <h3 id='RVG_preserve_aspect_ratio'>preserve_aspect_ratio</h3>
590
+
591
+ <p><span class=
592
+ "arg">rvg</span>.preserve_aspect_ratio(<span class=
593
+ "arg">align</span>, <span class=
594
+ "arg">meet_or_slice</span>='meet') [{|<span class=
595
+ "arg">self</span>| ...}] -&gt; <span class=
596
+ "arg">self</span></p>
597
+ </div>
598
+
599
+ <div class="desc">
600
+ <h4>Description</h4>
601
+
602
+ <p>If you use the <a href="#RVG_viewbox">viewbox</a> method and
603
+ the user coordinate system does not scale uniformly to the
604
+ default coordinate system (for example, the width and height of
605
+ the RVG object is 4x3 and the user coordinate system is 16x9),
606
+ use the <code>preserve_aspect_ratio</code> method to specify
607
+ whether or not the content is stretched to fit. If not, you can
608
+ specify how to fit the content into the space.</p>
609
+
610
+ <p><code>Preserve_aspect_ratio</code> yields to a block if one
611
+ is present, passing <span class="arg">self</span> as an
612
+ argument.</p>
613
+
614
+ <h4>Arguments</h4>
615
+
616
+ <dl>
617
+ <dt>align</dt>
618
+
619
+ <dd>
620
+ When the value of the <code>meet_or_slice</code> argument
621
+ is 'meet' or 'slice', this argument controls the placement
622
+ of the content within the viewport. The <code>align</code>
623
+ argument is the concatenation of an <em>x</em>-alignment and
624
+ a <em>y</em>-alignment. The values are shown in these
625
+ lists:
626
+
627
+ <h6><em>x</em>-alignment</h6>
628
+
629
+ <dl>
630
+ <dt>xMin</dt>
631
+
632
+ <dd>align the minimum <em>x</em> value of the content
633
+ with the left corner of the viewport.</dd>
634
+
635
+ <dt>xMid</dt>
636
+
637
+ <dd>vertically center the content within the
638
+ viewport.</dd>
639
+
640
+ <dt>xMax</dt>
641
+
642
+ <dd>align the maximum <em>x</em> value of the content
643
+ with the right corner of the viewport.</dd>
644
+ </dl>
645
+
646
+ <h6><em>y</em>-alignment</h6>
647
+
648
+ <dl>
649
+ <dt>YMin</dt>
650
+
651
+ <dd>align the minimum <em>y</em> value of the content
652
+ with the top of the viewport.</dd>
653
+
654
+ <dt>YMid</dt>
655
+
656
+ <dd>horizontally center the content within the
657
+ viewport.</dd>
658
+
659
+ <dt>YMax</dt>
660
+
661
+ <dd>align the maximum <em>y</em> value of the content
662
+ with the bottom of the viewport</dd>
663
+ </dl>
664
+ </dd>
665
+
666
+ <dt>meet_or_slice</dt>
667
+
668
+ <dd>
669
+ This argument can have one of these three values:
670
+
671
+ <dl>
672
+ <dt>'none'</dt>
673
+
674
+ <dd>The content is scaled as necessary so that it fits
675
+ exactly within the viewport. The aspect ratio is
676
+ <em>not</em> maintained.</dd>
677
+
678
+ <dt>'meet'</dt>
679
+
680
+ <dd>The content is scaled as necessary so that the larger
681
+ dimension exactly fits the viewport. There may be some
682
+ unused space in the viewport. The aspect ratio is
683
+ maintained.</dd>
684
+
685
+ <dt>'slice'</dt>
686
+
687
+ <dd>The content is scaled as necessary so that the
688
+ smaller dimension exactly fits the viewport. Some of the
689
+ content in the larger dimension may be cut off. The
690
+ aspect ratio is maintained.</dd>
691
+ </dl>
692
+ </dd>
693
+ </dl>
694
+
695
+ <h4>Example</h4>
696
+
697
+ <p><a href=
698
+ "javascript:popup('PreserveAspectRatio.rb.html')"><img src=
699
+ "ex/PreserveAspectRatio.gif" title=
700
+ "Click to see the example script" alt=
701
+ "preserve_aspect_ratio example" /></a></p>
702
+
703
+ <h4>Returns</h4>
704
+
705
+ <p><span class="arg">Self</span>, so other <code>RVG</code>
706
+ methods can be chained to this method.</p>
707
+
708
+ <h4>See Also</h4>
709
+
710
+ <p><a href="#RVG_viewbox">viewbox</a></p>
711
+ </div>
712
+
713
+ <div class="sig">
714
+ <h3 id="RVG_rvg">rvg</h3>
715
+
716
+ <p><span class="arg">rvg</span>.rvg(<span class=
717
+ "arg">width</span>, <span class="arg">height</span>,
718
+ <span class="arg">x</span>=0, <span class="arg">y</span>=0)
719
+ [{|<span class="arg">new_rvg</span>| ...}] -&gt;
720
+ <em>self</em></p>
721
+ </div>
722
+
723
+ <div class="desc">
724
+ <h4>Description</h4>
725
+
726
+ <p>This method constructs a new RVG object and adds it to the
727
+ enclosing RVG object. Each nested RVG object can use the
728
+ <a href="#RVG_viewbox">viewbox</a> method to define its own
729
+ coordinate system. The <code>rvg</code> method yields to a
730
+ block, passing the nested RVG object as an argument. Within the
731
+ block, any drawing objects added to the nested RVG object are
732
+ rendered within the nested RVG object's viewport.</p>
733
+
734
+ <h4>Arguments</h4>
735
+
736
+ <dl>
737
+ <dt>width, height</dt>
738
+
739
+ <dd>Specifies the viewport width and height. The units are in
740
+ the user coordinate system of the parent container.</dd>
741
+
742
+ <dt>x, y</dt>
743
+
744
+ <dd>The x- and y-axis offsets of the viewport upper-left
745
+ corner. The units are in the user coordinate system of the
746
+ parent container.</dd>
747
+ </dl>
748
+
749
+ <h4>Example</h4>
750
+
751
+ <p>See the example for <a href=
752
+ "#RVG_preserve_aspect_ratio">preserve_aspect_ratio</a>.</p>
753
+
754
+ <h4>Returns</h4>
755
+
756
+ <p>The <code>RVG</code> object, so other <code>RVG</code>
757
+ methods can be chained to this method.</p>
758
+ </div>
759
+
760
+ <div class="sig">
761
+ <h3 id='RVG_text'>text</h3>
762
+
763
+ <p><span class="arg">rvg.</span>text(<span class=
764
+ "arg">x</span>=0, <span class="arg">y</span>=0, <span class=
765
+ "arg">text</span>=nil) [{|<span class="arg">text</span>| ...}]
766
+ -&gt; <em>text</em></p>
767
+ </div>
768
+
769
+ <div class="desc">
770
+ <h4>Description</h4>
771
+
772
+ <p>Calls <a href="rvgtext.html#new">RVG::Text.new</a> to
773
+ construct a text object and adds it to the enclosing RVG
774
+ object. Yields to a block if one is present, passing the new
775
+ text object as an argument.</p>
776
+
777
+ <h4>Returns</h4>
778
+
779
+ <p>The <code>RVG::Text</code> object, so other
780
+ <code>RVG::Text</code> methods can be chained to this
781
+ method.</p>
782
+ </div>
783
+
784
+ <div class="sig">
785
+ <h3 id="RVG_use">use</h3>
786
+
787
+ <p><span class="arg">rvg</span>.use(<span class=
788
+ "arg">obj</span>, <span class="arg">x</span>=0, <span class=
789
+ "arg">y</span>=0, <span class="arg">width</span>=nil,
790
+ <span class="arg">height</span>=nil) -&gt; <em>use</em></p>
791
+ </div>
792
+
793
+ <div class="desc">
794
+ <h4>Description</h4>
795
+
796
+ <p>Calls <a href="rvguse.html#new">RVG::Use.new</a> to
797
+ construct a <code>use</code> object and adds it to the RVG
798
+ object.</p>
799
+
800
+ <p>When the referenced argument is another RVG object,
801
+ <span class="arg">width</span> and <span class=
802
+ "arg">height</span> can be used to specify the width and height
803
+ of the viewport. If present and non-nil, these arguments
804
+ override any width and height specified when the RVG object was
805
+ created. You must specify the viewport size either when
806
+ creating the RVG object or when referencing it with
807
+ <code>use</code>.</p>
808
+
809
+ <h4>Examples</h4>
810
+
811
+ <p>See <a href="rvguse.html#new">RVG::Use.new</a></p>
812
+
813
+ <h4>Returns</h4>
814
+
815
+ <p>The <code>RVG::Use</code> object, so other
816
+ <code>RVG::Use</code> methods can be chained to this
817
+ method.</p>
818
+ </div>
819
+
820
+ <div class="sig">
821
+ <h3 id="RVG_viewbox">viewbox</h3>
822
+
823
+ <p><span class="arg">rvg</span>.viewbox(<span class=
824
+ "arg">min_x</span>, <span class="arg">min_y</span>,
825
+ <span class="arg">width</span>, <span class=
826
+ "arg">height</span>) [{|<span class="arg">self</span>| ...}]
827
+ -&gt; <em>self</em></p>
828
+ </div>
829
+
830
+ <div class="desc">
831
+ <h4>Description</h4>
832
+
833
+ <p>The area of the RVG object is called the <em>viewport</em>.
834
+ By default the origin of the coordinate system for an RVG
835
+ object is (0,0). The user coordinates are pixels and the width
836
+ and height are established by the <span class=
837
+ "arg">width</span> and <span class="arg">height</span>
838
+ arguments to <code>RVG.new</code>.</p>
839
+
840
+ <p>Use the <code>viewbox</code> method to superimpose a user
841
+ coordinate system on the viewport. The <code>viewbox</code>
842
+ method lets you set up a coordinate system using the units of
843
+ your choice.</p>
844
+
845
+ <p>The <code>viewbox</code> method yields to a block if one is
846
+ present, passing <code>self</code> as an argument.</p>
847
+
848
+ <h4>Arguments</h4>
849
+
850
+ <dl>
851
+ <dt>min_x, min_y</dt>
852
+
853
+ <dd>The minimum <em>x</em>-coordinate and
854
+ <em>y</em>-coordinate of the user coordinate system.</dd>
855
+
856
+ <dt>width, height</dt>
857
+
858
+ <dd>The width and height of the user coordinate system.</dd>
859
+ </dl>
860
+
861
+ <h4>Example</h4>
862
+
863
+ <p>In the following examples, because the <code>viewbox</code>
864
+ method specifies the dimensions of the coordinate system, the
865
+ dimensions specified for the graphic objects can remain the
866
+ same while the size of the canvas changes.</p>
867
+
868
+ <p><strong>Rendered into a 300x200 viewport</strong><a href=
869
+ "javascript:popup('ViewBox.rb.html')"><img src=
870
+ "ex/ViewBox_300x200.gif" title=
871
+ "Click to see the example script" alt=
872
+ "viewbox 300x200 example" /></a></p>
873
+
874
+ <p><strong>Rendered into a 150x200 viewport</strong><a href=
875
+ "javascript:popup('ViewBox.rb.html')"><img src=
876
+ "ex/ViewBox_150x200.gif" title=
877
+ "Click to see the example script" alt=
878
+ "viewbox 150x200 example" /></a></p>
879
+
880
+ <h4>Returns</h4>
881
+
882
+ <p><span class="arg">Self</span>, so other <code>RVG</code>
883
+ methods may be chained to <code>viewbox</code>.</p>
884
+
885
+ <h4>See Also</h4>
886
+
887
+ <p><a href=
888
+ "#RVG_preserve_aspect_ratio">preserve_aspect_ratio</a></p>
889
+ </div>
890
+
891
+ <h2 id="units" class="methods">Units</h2>
892
+
893
+ <div style="margin-left: 235px; margin-top:1em">
894
+ <p>RVG supports a subset of the unit identifiers defined by the
895
+ SVG specification. In RVG, unit identifiers are methods in the
896
+ Float and Fixnum classes. The units are (for the most part)
897
+ defined in terms of "dots per inch," accordingly, the unit
898
+ identifier methods are added only if the value</p>
899
+ <pre>
900
+ Magick::RVG.dpi = NN
901
+ </pre>
902
+
903
+ <p>is defined, where NN is the number of "dots" (pixels) per
904
+ inch you wish to use. (Hint: 90 is a good default.)</p>
905
+
906
+ <p>For example, to specify a length of 10 inches, you can
907
+ use</p>
908
+ <pre>
909
+ Magick::RVG.dpi = 90
910
+ length = 10.in # =&gt; 900 pixels
911
+ </pre>
912
+
913
+ <p>If the dpi is defined, the following methods are added to
914
+ <code>Float</code> and <code>Fixnum</code></p>
915
+
916
+ <dl>
917
+ <dt>px</dt>
918
+
919
+ <dd>Pixel. The default unit of measurement.</dd>
920
+
921
+ <dt>in</dt>
922
+
923
+ <dd>Converts inches to pixels</dd>
924
+
925
+ <dt>mm</dt>
926
+
927
+ <dd>Converts millimeters to pixels</dd>
928
+
929
+ <dt>cm</dt>
930
+
931
+ <dd>Converts centimeters to pixels</dd>
932
+
933
+ <dt>pt</dt>
934
+
935
+ <dd>Converts points to pixels. There are 72 points to the
936
+ inch.</dd>
937
+
938
+ <dt>pc</dt>
939
+
940
+ <dd>Converts picas to pixels. There are 12 points to the
941
+ pica.</dd>
942
+
943
+ <dt>deg</dt>
944
+
945
+ <dd>Degrees. The default unit of rotation.</dd>
946
+
947
+ <dt>rad</dt>
948
+
949
+ <dd>Converts radians to degrees.</dd>
950
+
951
+ <dt>grad</dt>
952
+
953
+ <dd>Converts grads to degrees. There are 400 grads in a
954
+ circle.</dd>
955
+
956
+ <dt>pct</dt>
957
+
958
+ <dd>This conversion takes an numeric argument and returns a
959
+ percentage of the argument. For example 20.pct(150) -&gt;
960
+ 30</dd>
961
+ </dl>
962
+
963
+ <p>SVG also supports <em>em</em> and <em>ex</em>, which are
964
+ measurements based on the font size. RVG does not.</p>
965
+ </div>
966
+
967
+ <p class="spacer">&nbsp;</p>
968
+
969
+ <div class="nav">
970
+ &laquo; <a href="rvgtut.html">Prev</a> | <a href=
971
+ "index.html">Contents</a> | <a href="rvggroup.html">Next</a>
972
+ &raquo;
973
+ </div>
974
+ </body>
975
+ </html>