rmagick 3.2.0 → 4.3.0

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

Potentially problematic release.


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

Files changed (420) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.devcontainer/Dockerfile +14 -0
  4. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  5. data/.devcontainer/devcontainer.json +11 -0
  6. data/.devcontainer/setup-repo.sh +10 -0
  7. data/.devcontainer/setup-user.sh +45 -0
  8. data/.editorconfig +3 -0
  9. data/.github/ISSUE_TEMPLATE.md +17 -0
  10. data/.github/workflows/ci.yml +79 -0
  11. data/.gitignore +3 -1
  12. data/.rspec +1 -0
  13. data/.rubocop.yml +24 -0
  14. data/.rubocop_todo.yml +151 -297
  15. data/.yardopts +5 -0
  16. data/CHANGELOG.md +233 -0
  17. data/CODE_OF_CONDUCT.md +122 -7
  18. data/CONTRIBUTING.md +14 -10
  19. data/README.md +326 -0
  20. data/Rakefile +16 -22
  21. data/before_install_linux.sh +22 -28
  22. data/before_install_osx.sh +57 -2
  23. data/ext/RMagick/extconf.rb +149 -105
  24. data/ext/RMagick/rmagick.c +77 -104
  25. data/ext/RMagick/rmagick.h +121 -103
  26. data/ext/RMagick/rmdraw.c +364 -436
  27. data/ext/RMagick/rmenum.c +106 -114
  28. data/ext/RMagick/rmfill.c +149 -70
  29. data/ext/RMagick/rmilist.c +225 -367
  30. data/ext/RMagick/rmimage.c +4751 -4405
  31. data/ext/RMagick/rminfo.c +574 -787
  32. data/ext/RMagick/rmkinfo.c +51 -121
  33. data/ext/RMagick/rmmain.c +454 -286
  34. data/ext/RMagick/rmmontage.c +64 -130
  35. data/ext/RMagick/rmpixel.c +488 -437
  36. data/ext/RMagick/rmstruct.c +83 -96
  37. data/ext/RMagick/rmutil.c +302 -214
  38. data/lib/rmagick/version.rb +1 -1
  39. data/lib/rmagick_internal.rb +138 -93
  40. data/lib/rvg/clippath.rb +2 -1
  41. data/lib/rvg/container.rb +10 -5
  42. data/lib/rvg/describable.rb +1 -1
  43. data/lib/rvg/embellishable.rb +5 -4
  44. data/lib/rvg/misc.rb +15 -12
  45. data/lib/rvg/paint.rb +2 -1
  46. data/lib/rvg/pathdata.rb +12 -11
  47. data/lib/rvg/rvg.rb +12 -8
  48. data/lib/rvg/stylable.rb +9 -7
  49. data/lib/rvg/text.rb +11 -6
  50. data/lib/rvg/transformable.rb +3 -2
  51. data/lib/rvg/units.rb +1 -1
  52. data/rmagick.gemspec +10 -11
  53. metadata +52 -423
  54. data/.appveyor.yml +0 -45
  55. data/.circleci/config.yml +0 -56
  56. data/.ruby-version +0 -1
  57. data/.simplecov +0 -27
  58. data/.travis.yml +0 -62
  59. data/Doxyfile +0 -1514
  60. data/README.textile +0 -259
  61. data/benchmarks/memory/README.md +0 -50
  62. data/benchmarks/memory/image_new.rb +0 -8
  63. data/benchmarks/memory/rmagick.gnuplot +0 -16
  64. data/doc/.cvsignore +0 -1
  65. data/doc/comtasks.html +0 -287
  66. data/doc/constants.html +0 -1581
  67. data/doc/css/doc.css +0 -299
  68. data/doc/css/popup.css +0 -34
  69. data/doc/css/ref.css +0 -67
  70. data/doc/draw.html +0 -3272
  71. data/doc/ex/InitialCoords.rb +0 -22
  72. data/doc/ex/NewCoordSys.rb +0 -30
  73. data/doc/ex/OrigCoordSys.rb +0 -16
  74. data/doc/ex/PreserveAspectRatio.rb +0 -204
  75. data/doc/ex/RotateScale.rb +0 -36
  76. data/doc/ex/Skew.rb +0 -38
  77. data/doc/ex/Use01.rb +0 -15
  78. data/doc/ex/Use02.rb +0 -20
  79. data/doc/ex/Use03.rb +0 -16
  80. data/doc/ex/ViewBox.rb +0 -31
  81. data/doc/ex/adaptive_threshold.rb +0 -9
  82. data/doc/ex/add_noise.rb +0 -16
  83. data/doc/ex/affine.rb +0 -48
  84. data/doc/ex/affine_transform.rb +0 -20
  85. data/doc/ex/arc.rb +0 -49
  86. data/doc/ex/arcpath.rb +0 -32
  87. data/doc/ex/arcs01.rb +0 -28
  88. data/doc/ex/arcs02.rb +0 -59
  89. data/doc/ex/average.rb +0 -15
  90. data/doc/ex/axes.rb +0 -64
  91. data/doc/ex/baseline_shift01.rb +0 -17
  92. data/doc/ex/bilevel_channel.rb +0 -8
  93. data/doc/ex/blur_image.rb +0 -12
  94. data/doc/ex/border.rb +0 -10
  95. data/doc/ex/bounding_box.rb +0 -42
  96. data/doc/ex/cbezier1.rb +0 -41
  97. data/doc/ex/cbezier2.rb +0 -41
  98. data/doc/ex/cbezier3.rb +0 -41
  99. data/doc/ex/cbezier4.rb +0 -42
  100. data/doc/ex/cbezier5.rb +0 -42
  101. data/doc/ex/cbezier6.rb +0 -53
  102. data/doc/ex/channel.rb +0 -25
  103. data/doc/ex/charcoal.rb +0 -12
  104. data/doc/ex/chop.rb +0 -29
  105. data/doc/ex/circle.rb +0 -33
  106. data/doc/ex/circle01.rb +0 -16
  107. data/doc/ex/clip_path.rb +0 -60
  108. data/doc/ex/coalesce.rb +0 -57
  109. data/doc/ex/color_fill_to_border.rb +0 -29
  110. data/doc/ex/color_floodfill.rb +0 -28
  111. data/doc/ex/color_histogram.rb +0 -47
  112. data/doc/ex/color_reset.rb +0 -11
  113. data/doc/ex/colorize.rb +0 -16
  114. data/doc/ex/colors.rb +0 -64
  115. data/doc/ex/compose_mask.rb +0 -22
  116. data/doc/ex/composite.rb +0 -133
  117. data/doc/ex/composite_layers.rb +0 -52
  118. data/doc/ex/composite_tiled.rb +0 -21
  119. data/doc/ex/contrast.rb +0 -36
  120. data/doc/ex/crop.rb +0 -31
  121. data/doc/ex/crop_with_gravity.rb +0 -42
  122. data/doc/ex/cubic01.rb +0 -43
  123. data/doc/ex/cubic02.rb +0 -91
  124. data/doc/ex/cycle_colormap.rb +0 -21
  125. data/doc/ex/dissolve.rb +0 -12
  126. data/doc/ex/drawcomp.rb +0 -41
  127. data/doc/ex/drop_shadow.rb +0 -60
  128. data/doc/ex/edge.rb +0 -11
  129. data/doc/ex/ellipse.rb +0 -45
  130. data/doc/ex/ellipse01.rb +0 -21
  131. data/doc/ex/emboss.rb +0 -11
  132. data/doc/ex/enhance.rb +0 -28
  133. data/doc/ex/equalize.rb +0 -11
  134. data/doc/ex/evenodd.rb +0 -42
  135. data/doc/ex/fill_pattern.rb +0 -23
  136. data/doc/ex/flatten_images.rb +0 -36
  137. data/doc/ex/flip.rb +0 -11
  138. data/doc/ex/flop.rb +0 -11
  139. data/doc/ex/font_styles.rb +0 -32
  140. data/doc/ex/fonts.rb +0 -16
  141. data/doc/ex/frame.rb +0 -12
  142. data/doc/ex/gaussian_blur.rb +0 -11
  143. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  144. data/doc/ex/get_pixels.rb +0 -45
  145. data/doc/ex/get_type_metrics.rb +0 -142
  146. data/doc/ex/gradientfill.rb +0 -27
  147. data/doc/ex/grav.rb +0 -45
  148. data/doc/ex/gravity.rb +0 -78
  149. data/doc/ex/group.rb +0 -26
  150. data/doc/ex/hatchfill.rb +0 -27
  151. data/doc/ex/image.rb +0 -44
  152. data/doc/ex/images/Apple.miff +0 -0
  153. data/doc/ex/images/Ballerina.jpg +0 -0
  154. data/doc/ex/images/Ballerina3.jpg +0 -0
  155. data/doc/ex/images/Button_0.gif +0 -0
  156. data/doc/ex/images/Button_1.gif +0 -0
  157. data/doc/ex/images/Button_2.gif +0 -0
  158. data/doc/ex/images/Button_3.gif +0 -0
  159. data/doc/ex/images/Button_4.gif +0 -0
  160. data/doc/ex/images/Button_5.gif +0 -0
  161. data/doc/ex/images/Button_6.gif +0 -0
  162. data/doc/ex/images/Button_7.gif +0 -0
  163. data/doc/ex/images/Button_8.gif +0 -0
  164. data/doc/ex/images/Button_9.gif +0 -0
  165. data/doc/ex/images/Button_A.gif +0 -0
  166. data/doc/ex/images/Button_B.gif +0 -0
  167. data/doc/ex/images/Button_C.gif +0 -0
  168. data/doc/ex/images/Button_D.gif +0 -0
  169. data/doc/ex/images/Button_E.gif +0 -0
  170. data/doc/ex/images/Button_F.gif +0 -0
  171. data/doc/ex/images/Button_G.gif +0 -0
  172. data/doc/ex/images/Button_H.gif +0 -0
  173. data/doc/ex/images/Button_I.gif +0 -0
  174. data/doc/ex/images/Button_J.gif +0 -0
  175. data/doc/ex/images/Button_K.gif +0 -0
  176. data/doc/ex/images/Button_L.gif +0 -0
  177. data/doc/ex/images/Button_M.gif +0 -0
  178. data/doc/ex/images/Button_N.gif +0 -0
  179. data/doc/ex/images/Button_O.gif +0 -0
  180. data/doc/ex/images/Button_P.gif +0 -0
  181. data/doc/ex/images/Button_Q.gif +0 -0
  182. data/doc/ex/images/Button_R.gif +0 -0
  183. data/doc/ex/images/Button_S.gif +0 -0
  184. data/doc/ex/images/Button_T.gif +0 -0
  185. data/doc/ex/images/Button_U.gif +0 -0
  186. data/doc/ex/images/Button_V.gif +0 -0
  187. data/doc/ex/images/Button_W.gif +0 -0
  188. data/doc/ex/images/Button_X.gif +0 -0
  189. data/doc/ex/images/Button_Y.gif +0 -0
  190. data/doc/ex/images/Button_Z.gif +0 -0
  191. data/doc/ex/images/Cheetah.jpg +0 -0
  192. data/doc/ex/images/Coffee.png +0 -0
  193. data/doc/ex/images/Flower_Hat.jpg +0 -0
  194. data/doc/ex/images/Gold_Statue.jpg +0 -0
  195. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  196. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  197. data/doc/ex/images/Leaf.miff +0 -0
  198. data/doc/ex/images/No.png +0 -0
  199. data/doc/ex/images/Polynesia.jpg +0 -0
  200. data/doc/ex/images/Red_Rocks.jpg +0 -0
  201. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  202. data/doc/ex/images/Shorts.jpg +0 -0
  203. data/doc/ex/images/Snake.png +0 -0
  204. data/doc/ex/images/Violin.jpg +0 -0
  205. data/doc/ex/images/Yellow_Rose.miff +0 -0
  206. data/doc/ex/images/big-duck.gif +0 -0
  207. data/doc/ex/images/duck.gif +0 -0
  208. data/doc/ex/images/duck0.gif +0 -0
  209. data/doc/ex/images/duck1.gif +0 -0
  210. data/doc/ex/images/duck10.gif +0 -0
  211. data/doc/ex/images/duck11.gif +0 -0
  212. data/doc/ex/images/duck12.gif +0 -0
  213. data/doc/ex/images/duck13.gif +0 -0
  214. data/doc/ex/images/duck14.gif +0 -0
  215. data/doc/ex/images/duck15.gif +0 -0
  216. data/doc/ex/images/duck2.gif +0 -0
  217. data/doc/ex/images/duck3.gif +0 -0
  218. data/doc/ex/images/duck4.gif +0 -0
  219. data/doc/ex/images/duck5.gif +0 -0
  220. data/doc/ex/images/duck6.gif +0 -0
  221. data/doc/ex/images/duck7.gif +0 -0
  222. data/doc/ex/images/duck8.gif +0 -0
  223. data/doc/ex/images/duck9.gif +0 -0
  224. data/doc/ex/images/graydient230x6.gif +0 -0
  225. data/doc/ex/images/image_with_profile.jpg +0 -0
  226. data/doc/ex/images/logo400x83.gif +0 -0
  227. data/doc/ex/images/model.miff +0 -0
  228. data/doc/ex/images/notimplemented.gif +0 -0
  229. data/doc/ex/images/smile.miff +0 -0
  230. data/doc/ex/images/spin.gif +0 -0
  231. data/doc/ex/implode.rb +0 -34
  232. data/doc/ex/level.rb +0 -11
  233. data/doc/ex/level_colors.rb +0 -11
  234. data/doc/ex/line.rb +0 -41
  235. data/doc/ex/line01.rb +0 -21
  236. data/doc/ex/mask.rb +0 -35
  237. data/doc/ex/matte_fill_to_border.rb +0 -39
  238. data/doc/ex/matte_floodfill.rb +0 -32
  239. data/doc/ex/matte_replace.rb +0 -39
  240. data/doc/ex/median_filter.rb +0 -28
  241. data/doc/ex/modulate.rb +0 -11
  242. data/doc/ex/mono.rb +0 -23
  243. data/doc/ex/morph.rb +0 -25
  244. data/doc/ex/mosaic.rb +0 -37
  245. data/doc/ex/motion_blur.rb +0 -11
  246. data/doc/ex/negate.rb +0 -11
  247. data/doc/ex/negate_channel.rb +0 -9
  248. data/doc/ex/nested_rvg.rb +0 -21
  249. data/doc/ex/nonzero.rb +0 -42
  250. data/doc/ex/normalize.rb +0 -11
  251. data/doc/ex/oil_paint.rb +0 -11
  252. data/doc/ex/opacity.rb +0 -37
  253. data/doc/ex/ordered_dither.rb +0 -11
  254. data/doc/ex/path.rb +0 -63
  255. data/doc/ex/pattern1.rb +0 -25
  256. data/doc/ex/pattern2.rb +0 -26
  257. data/doc/ex/polaroid.rb +0 -26
  258. data/doc/ex/polygon.rb +0 -23
  259. data/doc/ex/polygon01.rb +0 -21
  260. data/doc/ex/polyline.rb +0 -22
  261. data/doc/ex/polyline01.rb +0 -21
  262. data/doc/ex/posterize.rb +0 -8
  263. data/doc/ex/preview.rb +0 -8
  264. data/doc/ex/qbezierpath.rb +0 -52
  265. data/doc/ex/quad01.rb +0 -34
  266. data/doc/ex/quantize-m.rb +0 -25
  267. data/doc/ex/radial_blur.rb +0 -9
  268. data/doc/ex/raise.rb +0 -8
  269. data/doc/ex/random_threshold_channel.rb +0 -13
  270. data/doc/ex/rect01.rb +0 -14
  271. data/doc/ex/rect02.rb +0 -20
  272. data/doc/ex/rectangle.rb +0 -34
  273. data/doc/ex/reduce_noise.rb +0 -28
  274. data/doc/ex/remap.rb +0 -11
  275. data/doc/ex/remap_images.rb +0 -19
  276. data/doc/ex/resize_to_fill.rb +0 -8
  277. data/doc/ex/resize_to_fit.rb +0 -8
  278. data/doc/ex/roll.rb +0 -9
  279. data/doc/ex/rotate.rb +0 -44
  280. data/doc/ex/rotate_f.rb +0 -14
  281. data/doc/ex/roundrect.rb +0 -33
  282. data/doc/ex/rubyname.rb +0 -30
  283. data/doc/ex/rvg_clippath.rb +0 -12
  284. data/doc/ex/rvg_linecap.rb +0 -42
  285. data/doc/ex/rvg_linejoin.rb +0 -40
  286. data/doc/ex/rvg_opacity.rb +0 -18
  287. data/doc/ex/rvg_pattern.rb +0 -26
  288. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  289. data/doc/ex/segment.rb +0 -11
  290. data/doc/ex/sepiatone.rb +0 -7
  291. data/doc/ex/shade.rb +0 -11
  292. data/doc/ex/shadow.rb +0 -30
  293. data/doc/ex/shave.rb +0 -15
  294. data/doc/ex/shear.rb +0 -10
  295. data/doc/ex/sketch.rb +0 -17
  296. data/doc/ex/skewx.rb +0 -51
  297. data/doc/ex/skewy.rb +0 -47
  298. data/doc/ex/smile.rb +0 -126
  299. data/doc/ex/solarize.rb +0 -11
  300. data/doc/ex/sparse_color.rb +0 -55
  301. data/doc/ex/splice.rb +0 -8
  302. data/doc/ex/spread.rb +0 -11
  303. data/doc/ex/stegano.rb +0 -54
  304. data/doc/ex/stroke_dasharray.rb +0 -42
  305. data/doc/ex/stroke_fill.rb +0 -10
  306. data/doc/ex/stroke_linecap.rb +0 -44
  307. data/doc/ex/stroke_linejoin.rb +0 -48
  308. data/doc/ex/stroke_width.rb +0 -49
  309. data/doc/ex/swirl.rb +0 -17
  310. data/doc/ex/text.rb +0 -37
  311. data/doc/ex/text01.rb +0 -16
  312. data/doc/ex/text_align.rb +0 -36
  313. data/doc/ex/text_antialias.rb +0 -37
  314. data/doc/ex/text_styles.rb +0 -19
  315. data/doc/ex/text_undercolor.rb +0 -28
  316. data/doc/ex/texture_fill_to_border.rb +0 -34
  317. data/doc/ex/texture_floodfill.rb +0 -32
  318. data/doc/ex/texturefill.rb +0 -24
  319. data/doc/ex/threshold.rb +0 -13
  320. data/doc/ex/to_blob.rb +0 -13
  321. data/doc/ex/translate.rb +0 -39
  322. data/doc/ex/transparent.rb +0 -38
  323. data/doc/ex/transpose.rb +0 -9
  324. data/doc/ex/transverse.rb +0 -9
  325. data/doc/ex/tref01.rb +0 -24
  326. data/doc/ex/triangle01.rb +0 -15
  327. data/doc/ex/trim.rb +0 -23
  328. data/doc/ex/tspan01.rb +0 -17
  329. data/doc/ex/tspan02.rb +0 -17
  330. data/doc/ex/tspan03.rb +0 -19
  331. data/doc/ex/unsharp_mask.rb +0 -28
  332. data/doc/ex/viewex.rb +0 -33
  333. data/doc/ex/vignette.rb +0 -12
  334. data/doc/ex/watermark.rb +0 -27
  335. data/doc/ex/wave.rb +0 -9
  336. data/doc/ex/wet_floor.rb +0 -58
  337. data/doc/ex/writing_mode01.rb +0 -26
  338. data/doc/ex/writing_mode02.rb +0 -26
  339. data/doc/ilist.html +0 -2056
  340. data/doc/image1.html +0 -4680
  341. data/doc/image2.html +0 -3665
  342. data/doc/image3.html +0 -4522
  343. data/doc/imageattrs.html +0 -1638
  344. data/doc/imusage.html +0 -514
  345. data/doc/index.html +0 -416
  346. data/doc/info.html +0 -1499
  347. data/doc/magick.html +0 -570
  348. data/doc/optequiv.html +0 -2435
  349. data/doc/rvg.html +0 -975
  350. data/doc/rvgclip.html +0 -248
  351. data/doc/rvggroup.html +0 -305
  352. data/doc/rvgimage.html +0 -289
  353. data/doc/rvgpattern.html +0 -475
  354. data/doc/rvgshape.html +0 -406
  355. data/doc/rvgstyle.html +0 -270
  356. data/doc/rvgtext.html +0 -465
  357. data/doc/rvgtspan.html +0 -238
  358. data/doc/rvgtut.html +0 -530
  359. data/doc/rvguse.html +0 -145
  360. data/doc/rvgxform.html +0 -294
  361. data/doc/scripts/doc.js +0 -22
  362. data/doc/scripts/stripeTables.js +0 -23
  363. data/doc/struct.html +0 -1339
  364. data/doc/usage.html +0 -1621
  365. data/examples/constitute.rb +0 -7
  366. data/examples/crop_with_gravity.rb +0 -42
  367. data/examples/demo.rb +0 -323
  368. data/examples/describe.rb +0 -41
  369. data/examples/find_similar_region.rb +0 -34
  370. data/examples/histogram.rb +0 -312
  371. data/examples/identify.rb +0 -174
  372. data/examples/image_opacity.rb +0 -28
  373. data/examples/import_export.rb +0 -31
  374. data/examples/pattern_fill.rb +0 -37
  375. data/examples/rotating_text.rb +0 -45
  376. data/examples/spinner.rb +0 -49
  377. data/examples/thumbnail.rb +0 -64
  378. data/examples/vignette.rb +0 -78
  379. data/lib/obsolete.rb +0 -66
  380. data/spec/rmagick/ImageList1_spec.rb +0 -24
  381. data/spec/rmagick/draw_spec.rb +0 -155
  382. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  383. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  384. data/spec/rmagick/image/composite_spec.rb +0 -72
  385. data/spec/rmagick/image/constitute_spec.rb +0 -13
  386. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  387. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  388. data/spec/rmagick/image/ping_spec.rb +0 -12
  389. data/spec/rmagick/image/properties_spec.rb +0 -27
  390. data/spec/rmagick/image/read_spec.rb +0 -28
  391. data/spec/spec_helper.rb +0 -10
  392. data/spec/support/issue_200/app.rb +0 -8
  393. data/test/Draw.rb +0 -351
  394. data/test/Enum.rb +0 -228
  395. data/test/Fill.rb +0 -93
  396. data/test/Image1.rb +0 -627
  397. data/test/Image2.rb +0 -1426
  398. data/test/Image3.rb +0 -1091
  399. data/test/ImageList1.rb +0 -858
  400. data/test/ImageList2.rb +0 -406
  401. data/test/Image_attributes.rb +0 -666
  402. data/test/Import_Export.rb +0 -115
  403. data/test/Info.rb +0 -444
  404. data/test/KernelInfo.rb +0 -67
  405. data/test/Magick.rb +0 -311
  406. data/test/Pixel.rb +0 -285
  407. data/test/PolaroidOptions.rb +0 -23
  408. data/test/Preview.rb +0 -26
  409. data/test/Struct.rb +0 -45
  410. data/test/appearance/Montage.rb +0 -26
  411. data/test/appearance/appearance_assertion.rb +0 -13
  412. data/test/appearance/expected/montage_border_color.jpg +0 -0
  413. data/test/cmyk.icm +0 -0
  414. data/test/lib/Obsolete.rb +0 -30
  415. data/test/lib/internal/Draw.rb +0 -823
  416. data/test/lib/internal/Geometry.rb +0 -98
  417. data/test/lib/internal/Magick.rb +0 -40
  418. data/test/srgb.icm +0 -0
  419. data/test/test_all_basic.rb +0 -49
  420. data/test/tmpnam_test.rb +0 -50
data/doc/rvgpattern.html DELETED
@@ -1,475 +0,0 @@
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::Pattern 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="rvgimage.html">Prev</a> | <a href=
34
- "index.html">Contents</a> | <a href=
35
- "rvgclip.html">Next</a>&nbsp;&raquo;
36
- </div>
37
-
38
- <h1>class RVG::Pattern <span class="superclass">&lt;
39
- Object</span></h1>
40
-
41
- <div id="toc">
42
- <h2>Table of Contents</h2>
43
-
44
- <h3>class methods</h3>
45
-
46
- <ul>
47
- <li><a href="#new">new</a></li>
48
- </ul>
49
-
50
- <h3>instance methods</h3>
51
-
52
- <div>
53
- <div class="toccol">
54
- <ul>
55
- <li><a href="#g">g</a></li>
56
-
57
- <li><a href="#image">image</a></li>
58
-
59
- <li><a href=
60
- "#preserve_aspect_ratio">preserve_aspect_ratio</a></li>
61
- </ul>
62
- </div>
63
-
64
- <div class="toccol">
65
- <ul>
66
- <li><a href="#rvg">rvg</a></li>
67
-
68
- <li><a href="#RVG_text">text</a></li>
69
- </ul>
70
- </div>
71
-
72
- <div class="toccol">
73
- <ul>
74
- <li><a href="#RVG_use">use</a></li>
75
-
76
- <li><a href="#viewbox">viewbox</a></li>
77
- </ul>
78
- </div>
79
- </div>
80
-
81
- <h3>shared methods</h3>
82
-
83
- <p>In addition to the methods listed above, this class also
84
- implements the <a href="rvgstyle.html">styles</a> method, the
85
- <a href="rvgshape.html">shape methods</a> and the <a href=
86
- "rvgxform.html">transform methods</a>.</p>
87
- </div>
88
-
89
- <h2 class="methods">class methods</h2>
90
-
91
- <div class="sig">
92
- <h3 id="new">new</h3>
93
-
94
- <p>RVG::Pattern.new(<span class="arg">width</span>=0,
95
- <span class="arg">height</span>=0, <span class=
96
- "arg">x</span>=0, <span class="arg">y</span>=0) [ <span class=
97
- "arg">{ |pattern| drawing method calls }</span> ] -&gt;
98
- <em>pattern</em></p>
99
- </div>
100
-
101
- <div class="desc">
102
- <h4>Description</h4>
103
-
104
- <p>Creates a pattern that can be used with the
105
- <code>:fill</code> and <code>:stroke</code> styles.</p>
106
-
107
- <p>Define the pattern in the associated block. The pattern can
108
- be composed of <a href="rvgshape.html">shapes</a>, <a href=
109
- "rvgtext.html#new">text</a>, <a href="rvgimage.html#new">raster
110
- images</a>, <a href="rvggroup.html#new">groups</a>, and
111
- <a href="rvg.html#RVG_new">RVG objects</a>. You can use the
112
- <a href="rvguse.html#new">use</a> method to include graphic
113
- objects in the pattern.</p>
114
-
115
- <h4>Arguments</h4>
116
-
117
- <dl>
118
- <dt>width, height</dt>
119
-
120
- <dd>These arguments define the pattern viewport.</dd>
121
-
122
- <dt>x, y</dt>
123
-
124
- <dd>Specify the starting offset of the pattern. The pattern
125
- will be repeated at <span class=
126
- "arg">x</span><code>+m*width</code> and <span class=
127
- "arg">y</span><code>+n*height</code> offsets.</dd>
128
- </dl>
129
-
130
- <h4>Example</h4>
131
-
132
- <p><a href="javascript:popup('rvg_pattern.rb.html')"><img src=
133
- "ex/rvg_pattern.gif" title="Click to see the example script"
134
- alt="pattern example" /></a></p>
135
- </div>
136
-
137
- <h2 class="methods">instance methods</h2>
138
-
139
- <div class="sig">
140
- <h3 id='g'>g</h3>
141
-
142
- <p><span class="arg">pattern.</span>g [{|<span class=
143
- "arg">grp</span>| ...}] -&gt; <em>group</em></p>
144
- </div>
145
-
146
- <div class="desc">
147
- <h4>Description</h4>
148
-
149
- <p>Calls <a href="rvggroup.html#new">RVG::Group.new</a> to
150
- construct a group and adds it to the pattern. Yields to a block
151
- if one is present, passing the new group as an argument.</p>
152
-
153
- <h4>Returns</h4>
154
-
155
- <p>Returns the new group, so <code>RVG::Group</code> methods
156
- can be chained to this method.</p>
157
- </div>
158
-
159
- <div class="sig">
160
- <h3 id='image'>image</h3>
161
-
162
- <p><span class="arg">pattern.</span>image(<span class=
163
- "arg">raster_image</span>, <span class="arg">width</span>=nil,
164
- <span class="arg">height</span>=nil, <span class=
165
- "arg">x</span>=0, <span class="arg">y</span>=0) -&gt;
166
- <em>image</em></p>
167
- </div>
168
-
169
- <div class="desc">
170
- <h4>Description</h4>
171
-
172
- <p>Calls <a href="rvgimage.html#new">RVG::Image.new</a> to
173
- construct an image and adds it to the pattern.</p>
174
-
175
- <h4>Returns</h4>
176
-
177
- <p>Returns the new image, so <code>RVG::Image</code> methods
178
- can be chained to this method.</p>
179
- </div>
180
-
181
- <div class="sig">
182
- <h3 id='preserve_aspect_ratio'>preserve_aspect_ratio</h3>
183
-
184
- <p><span class=
185
- "arg">pattern</span>.preserve_aspect_ratio(<span class=
186
- "arg">align</span>, <span class=
187
- "arg">meet_or_slice</span>='meet') [{|<span class=
188
- "arg">self</span>| ...}] -&gt; <em>self</em></p>
189
- </div>
190
-
191
- <div class="desc">
192
- <h4>Description</h4>
193
-
194
- <p>If you use the <a href="#viewbox">viewbox</a> method and the
195
- user coordinate system does not scale uniformly to the default
196
- coordinate system, use the <code>preserve_aspect_ratio</code>
197
- method to specify whether or not the content is stretched to
198
- fit. If not, you can specify how to fit the content into the
199
- space.</p>
200
-
201
- <p><code>Preserve_aspect_ratio</code> yields to a block if one
202
- is present, passing <span class="arg">self</span> as an
203
- argument.</p>
204
-
205
- <h4>Arguments</h4>
206
-
207
- <dl>
208
- <dt>align</dt>
209
-
210
- <dd>
211
- When the value of the <code>meet_or_slice</code> argument
212
- is 'meet' or 'slice', this argument controls the placement
213
- of the content within the viewport. The <code>align</code>
214
- argument is the concatenation of an <em>x</em>-alignment and
215
- a <em>y</em>-alignment. The values are shown in these
216
- lists:
217
-
218
- <h6><em>x</em>-alignment</h6>
219
-
220
- <dl>
221
- <dt>xMin</dt>
222
-
223
- <dd>align the minimum <em>x</em> value of the content
224
- with the left corner of the viewport.</dd>
225
-
226
- <dt>xMid</dt>
227
-
228
- <dd>vertically center the content within the
229
- viewport.</dd>
230
-
231
- <dt>xMax</dt>
232
-
233
- <dd>align the maximum <em>x</em> value of the content
234
- with the right corner of the viewport.</dd>
235
- </dl>
236
-
237
- <h6><em>y</em>-alignment</h6>
238
-
239
- <dl>
240
- <dt>YMin</dt>
241
-
242
- <dd>align the minimum <em>y</em> value of the content
243
- with the top of the viewport.</dd>
244
-
245
- <dt>YMid</dt>
246
-
247
- <dd>horizontally center the content within the
248
- viewport.</dd>
249
-
250
- <dt>YMax</dt>
251
-
252
- <dd>align the maximum <em>y</em> value of the content
253
- with the bottom of the viewport</dd>
254
- </dl>
255
- </dd>
256
-
257
- <dt>meet_or_slice</dt>
258
-
259
- <dd>
260
- This argument can have one of these three values:
261
-
262
- <dl>
263
- <dt>'none'</dt>
264
-
265
- <dd>The content is scaled as necessary so that it fits
266
- exactly within the viewport. The aspect ratio is
267
- <em>not</em> maintained.</dd>
268
-
269
- <dt>'meet'</dt>
270
-
271
- <dd>The content is scaled as necessary so that the larger
272
- dimension exactly fits the viewport. There may be some
273
- unused space in the viewport. The aspect ratio is
274
- maintained.</dd>
275
-
276
- <dt>'slice'</dt>
277
-
278
- <dd>The content is scaled as necessary so that the
279
- smaller dimension exactly fits the viewport. Some of the
280
- content in the larger dimension may be cut off. The
281
- aspect ratio is maintained.</dd>
282
- </dl>
283
- </dd>
284
- </dl>
285
-
286
- <h4>Example</h4>
287
-
288
- <p>See the RVG class <a href=
289
- "rvg.html#RVG_preserve_aspect_ratio">example</a>.</p>
290
-
291
- <h4>Returns</h4>
292
-
293
- <p><span class="arg">Self</span>, so other
294
- <code>RVG::Pattern</code> methods can be chained to this
295
- method.</p>
296
-
297
- <h4>See Also</h4>
298
-
299
- <p><a href="#viewbox">viewbox</a></p>
300
- </div>
301
-
302
- <div class="sig">
303
- <h3 id="rvg">rvg</h3>
304
-
305
- <p><span class="arg">pattern</span>.rvg(<span class=
306
- "arg">width</span>, <span class="arg">height</span>,
307
- <span class="arg">x</span>=0, <span class="arg">y</span>=0)
308
- [{|<span class="arg">new_rvg</span>| ...}] -&gt;
309
- <em>pattern</em></p>
310
- </div>
311
-
312
- <div class="desc">
313
- <h4>Description</h4>
314
-
315
- <p>This method constructs a new RVG object and adds it to the
316
- pattern. Each nested RVG object can use the <a href=
317
- "rvg.html#RVG_viewbox">viewbox</a> method to define its own
318
- coordinate system. The <code>rvg</code> method yields to a
319
- block, passing the nested RVG object as an argument. Within the
320
- block, any drawing objects added to the nested RVG object are
321
- rendered within the nested RVG object's viewport.</p>
322
-
323
- <h4>Arguments</h4>
324
-
325
- <dl>
326
- <dt>width, height</dt>
327
-
328
- <dd>Specifies the viewport width and height. The units are in
329
- the user coordinate system of the parent container.</dd>
330
-
331
- <dt>x, y</dt>
332
-
333
- <dd>The x- and y-axis offsets of the viewport upper-left
334
- corner. The units are in the user coordinate system of the
335
- parent container.</dd>
336
- </dl>
337
-
338
- <h4>Example</h4>
339
-
340
- <p>See the example for <a href=
341
- "#RVG_preserve_aspect_ratio">preserve_aspect_ratio</a> in
342
- <code>class RVG</code>.</p>
343
-
344
- <h4>Returns</h4>
345
-
346
- <p>The <code>RVG</code> object, so other <code>RVG</code>
347
- methods can be chained to this method.</p>
348
- </div>
349
-
350
- <div class="sig">
351
- <h3 id='RVG_text'>text</h3>
352
-
353
- <p><span class="arg">pattern.</span>text(<span class=
354
- "arg">x</span>=0, <span class="arg">y</span>=0, <span class=
355
- "arg">text</span>=nil) [{|<span class="arg">text</span>| ...}]
356
- -&gt; <em>text</em></p>
357
- </div>
358
-
359
- <div class="desc">
360
- <h4>Description</h4>
361
-
362
- <p>Calls <a href="rvgtext.html#new">RVG::Text.new</a> to
363
- construct a text object and adds it to the pattern. Yields to a
364
- block if one is present, passing the new text object as an
365
- argument.</p>
366
-
367
- <h4>Returns</h4>
368
-
369
- <p>The <code>RVG::Text</code> object, so other
370
- <code>RVG::Text</code> methods can be chained to this
371
- method.</p>
372
- </div>
373
-
374
- <div class="sig">
375
- <h3 id="RVG_use">use</h3>
376
-
377
- <p><span class="arg">pattern</span>.use(<span class=
378
- "arg">obj</span>, <span class="arg">x</span>=0, <span class=
379
- "arg">y</span>=0, <span class="arg">width</span>=nil,
380
- <span class="arg">height</span>=nil) -&gt; <em>use</em></p>
381
- </div>
382
-
383
- <div class="desc">
384
- <h4>Description</h4>
385
-
386
- <p>Calls <a href="rvguse.html#new">RVG::Use.new</a> to
387
- constructs a <code>use</code> object and adds it to the
388
- pattern.</p>
389
-
390
- <p>When the referenced argument is an RVG object, <span class=
391
- "arg">width</span> and <span class="arg">height</span> can be
392
- used to specify the width and height of the viewport. If
393
- present and non-nil, these arguments override any width and
394
- height specified when the RVG object was created. You must
395
- specify the viewport size either when creating the RVG object
396
- or when referencing it with <code>use</code>.</p>
397
-
398
- <h4>Examples</h4>
399
-
400
- <p>See <a href="rvguse.html#new">RVG::Use.new</a></p>
401
-
402
- <h4>Returns</h4>
403
-
404
- <p>The <code>RVG::Use</code> object, so other
405
- <code>RVG::Use</code> methods can be chained to this
406
- method.</p>
407
- </div>
408
-
409
- <div class="sig">
410
- <h3 id="viewbox">viewbox</h3>
411
-
412
- <p><span class="arg">pattern</span>.viewbox(<span class=
413
- "arg">min_x</span>, <span class="arg">min_y</span>,
414
- <span class="arg">width</span>, <span class=
415
- "arg">height</span>) [{|<span class="arg">self</span>| ...}]
416
- -&gt; <em>self</em></p>
417
- </div>
418
-
419
- <div class="desc">
420
- <h4>Description</h4>
421
-
422
- <p>The area of the pattern is called the <em>viewport</em>. By
423
- default the origin of the coordinate system for an pattern is
424
- (0,0). The user coordinates are pixels and the width and height
425
- are established by the <span class="arg">width</span> and
426
- <span class="arg">height</span> arguments to
427
- <code>RVG::Pattern.new</code>.</p>
428
-
429
- <p>Use the <code>viewbox</code> method to superimpose a user
430
- coordinate system on the viewport. The <code>viewbox</code>
431
- method lets you set up a coordinate system using the units of
432
- your choice.</p>
433
-
434
- <p>The <code>viewbox</code> method yields to a block if one is
435
- present, passing <code>self</code> as an argument.</p>
436
-
437
- <h4>Arguments</h4>
438
-
439
- <dl>
440
- <dt>min_x, min_y</dt>
441
-
442
- <dd>The minimum <em>x</em>-coordinate and
443
- <em>y</em>-coordinate of the user coordinate system.</dd>
444
-
445
- <dt>width, height</dt>
446
-
447
- <dd>The width and height of the user coordinate system.</dd>
448
- </dl>
449
-
450
- <h4>Example</h4>
451
-
452
- <p>See the <a href="rvg.html#RVG_viewbox">example</a> for the
453
- <code>RVG</code> class.</p>
454
-
455
- <h4>Returns</h4>
456
-
457
- <p><span class="arg">Self</span>, so other
458
- <code>RVG::Pattern</code> methods may be chained to
459
- <code>viewbox</code>.</p>
460
-
461
- <h4>See Also</h4>
462
-
463
- <p><a href=
464
- "#preserve_aspect_ratio">preserve_aspect_ratio</a></p>
465
- </div>
466
-
467
- <p class="spacer">&nbsp;</p>
468
-
469
- <div class="nav">
470
- &laquo;&nbsp;<a href="rvgimage.html">Prev</a> | <a href=
471
- "index.html">Contents</a> | <a href=
472
- "rvgclip.html">Next</a>&nbsp;&raquo;
473
- </div>
474
- </body>
475
- </html>