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
@@ -22,7 +22,7 @@
22
22
  * No Ruby usage (internal function)
23
23
  *
24
24
  * Notes:
25
- * - If the Magick::Montage#texture method wrote a texture file, the file is
25
+ * - If the Magick::ImageList::Montage#texture method wrote a texture file, the file is
26
26
  * deleted here.
27
27
  *
28
28
  * @param obj the montage object
@@ -41,7 +41,7 @@ destroy_Montage(void *obj)
41
41
  }
42
42
  if (montage->info)
43
43
  {
44
- (void) DestroyMontageInfo(montage->info);
44
+ DestroyMontageInfo(montage->info);
45
45
  montage->info = NULL;
46
46
  }
47
47
  xfree(montage);
@@ -51,11 +51,7 @@ destroy_Montage(void *obj)
51
51
  /**
52
52
  * Create a new Montage object.
53
53
  *
54
- * Ruby usage:
55
- * - @verbatim Montage.new @endverbatim
56
- *
57
- * @param class the Ruby class to use
58
- * @return a new Montage object
54
+ * @return [Magick::ImageList::Montage] a new Montage object
59
55
  */
60
56
  VALUE
61
57
  Montage_alloc(VALUE class)
@@ -73,11 +69,11 @@ Montage_alloc(VALUE class)
73
69
  }
74
70
 
75
71
  montage_info = CloneMontageInfo(image_info, NULL);
76
- (void) (void) DestroyImageInfo(image_info);
72
+ (void) DestroyImageInfo(image_info);
77
73
 
78
74
  if (!montage_info)
79
75
  {
80
- rb_raise(rb_eNoMemError, "not enough memory to initialize Magick::Montage object");
76
+ rb_raise(rb_eNoMemError, "not enough memory to initialize Magick::ImageList::Montage object");
81
77
  }
82
78
 
83
79
  montage = ALLOC(Montage);
@@ -94,12 +90,8 @@ Montage_alloc(VALUE class)
94
90
  /**
95
91
  * Set background_color value.
96
92
  *
97
- * Ruby usage:
98
- * - @verbatim Magick::Montage#background_color(color-name) @endverbatim
99
- *
100
- * @param self this object
101
- * @param color the color name
102
- * @return color
93
+ * @param color [Magick::Pixel, String] the color name
94
+ * @return [Magick::Pixel, String] the given color name
103
95
  */
104
96
  VALUE
105
97
  Montage_background_color_eq(VALUE self, VALUE color)
@@ -115,12 +107,8 @@ Montage_background_color_eq(VALUE self, VALUE color)
115
107
  /**
116
108
  * Set border_color value.
117
109
  *
118
- * Ruby usage:
119
- * - @verbatim Magick::Montage#border_color(color-name) @endverbatim
120
- *
121
- * @param self this object
122
- * @param color the color name
123
- * @return color
110
+ * @param color [Magick::Pixel, String] the color name
111
+ * @return [Magick::Pixel, String] the given color name
124
112
  */
125
113
  VALUE
126
114
  Montage_border_color_eq(VALUE self, VALUE color)
@@ -136,12 +124,8 @@ Montage_border_color_eq(VALUE self, VALUE color)
136
124
  /**
137
125
  * Set border_width value.
138
126
  *
139
- * Ruby usage:
140
- * - @verbatim Magick::Montage#border_width(width) @endverbatim
141
- *
142
- * @param self this object
143
- * @param width the width
144
- * @return width
127
+ * @param width [Numeric] the width
128
+ * @return [Numeric] the given width
145
129
  */
146
130
  VALUE
147
131
  Montage_border_width_eq(VALUE self, VALUE width)
@@ -157,12 +141,8 @@ Montage_border_width_eq(VALUE self, VALUE width)
157
141
  /**
158
142
  * Set a composition operator.
159
143
  *
160
- * Ruby usage:
161
- * - @verbatim Magick::Montage#compose(width) @endverbatim
162
- *
163
- * @param self this object
164
- * @param compose the composition operator
165
- * @return compose
144
+ * @param compose [Magick::CompositeOperator] the composition operator
145
+ * @return [Magick::CompositeOperator] the given compose operator
166
146
  */
167
147
  VALUE
168
148
  Montage_compose_eq(VALUE self, VALUE compose)
@@ -178,12 +158,8 @@ Montage_compose_eq(VALUE self, VALUE compose)
178
158
  /**
179
159
  * Set filename value.
180
160
  *
181
- * Ruby usage:
182
- * - @verbatim Magick::Montage#filename(name) @endverbatim
183
- *
184
- * @param self this object
185
- * @param filename the filename
186
- * @return filename
161
+ * @param filename [String] the filename
162
+ * @return [String] filename
187
163
  */
188
164
  VALUE
189
165
  Montage_filename_eq(VALUE self, VALUE filename)
@@ -191,7 +167,7 @@ Montage_filename_eq(VALUE self, VALUE filename)
191
167
  Montage *montage;
192
168
 
193
169
  Data_Get_Struct(self, Montage, montage);
194
- strncpy(montage->info->filename, StringValuePtr(filename), MaxTextExtent-1);
170
+ strlcpy(montage->info->filename, StringValueCStr(filename), sizeof(montage->info->filename));
195
171
  return filename;
196
172
  }
197
173
 
@@ -199,12 +175,8 @@ Montage_filename_eq(VALUE self, VALUE filename)
199
175
  /**
200
176
  * Set fill value.
201
177
  *
202
- * Ruby usage:
203
- * - @verbatim Magick::Montage#fill(color-name) @endverbatim
204
- *
205
- * @param self this object
206
- * @param color the color name
207
- * @return color
178
+ * @param color [Magick::Pixel, String] the color name
179
+ * @return [Magick::Pixel, String] the given color name
208
180
  */
209
181
  VALUE
210
182
  Montage_fill_eq(VALUE self, VALUE color)
@@ -220,12 +192,8 @@ Montage_fill_eq(VALUE self, VALUE color)
220
192
  /**
221
193
  * Set font value.
222
194
  *
223
- * Ruby usage:
224
- * - @verbatim Magick::Montage#font(font-name) @endverbatim
225
- *
226
- * @param self this object
227
- * @param font the font name
228
- * @return font
195
+ * @param font [String] the font name
196
+ * @return [String] the given font name
229
197
  */
230
198
  VALUE
231
199
  Montage_font_eq(VALUE self, VALUE font)
@@ -233,7 +201,7 @@ Montage_font_eq(VALUE self, VALUE font)
233
201
  Montage *montage;
234
202
 
235
203
  Data_Get_Struct(self, Montage, montage);
236
- magick_clone_string(&montage->info->font, StringValuePtr(font));
204
+ magick_clone_string(&montage->info->font, StringValueCStr(font));
237
205
 
238
206
  return font;
239
207
  }
@@ -242,17 +210,12 @@ Montage_font_eq(VALUE self, VALUE font)
242
210
  /**
243
211
  * Set frame value.
244
212
  *
245
- * Ruby usage:
246
- * - @verbatim Magick::Montage#frame(frame-geometry) @endverbatim
247
- *
248
- * Notes:
249
- * - The geometry is a string in the form:
250
- * @verbatim <width>x<height>+<outer-bevel-width>+<inner-bevel-width> @endverbatim
251
- * or a Geometry object
213
+ * - The geometry is a string in the form:
214
+ * <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
215
+ * or a Geometry object
252
216
  *
253
- * @param self this object
254
- * @param frame_arg the frame geometry
255
- * @return frame_arg
217
+ * @param frame_arg [String] the frame geometry
218
+ * @see https://www.imagemagick.org/Magick++/Geometry.html
256
219
  */
257
220
  VALUE
258
221
  Montage_frame_eq(VALUE self, VALUE frame_arg)
@@ -261,8 +224,8 @@ Montage_frame_eq(VALUE self, VALUE frame_arg)
261
224
  VALUE frame;
262
225
 
263
226
  Data_Get_Struct(self, Montage, montage);
264
- frame = rm_to_s(frame_arg);
265
- magick_clone_string(&montage->info->frame, StringValuePtr(frame));
227
+ frame = rb_String(frame_arg);
228
+ magick_clone_string(&montage->info->frame, StringValueCStr(frame));
266
229
 
267
230
  RB_GC_GUARD(frame);
268
231
 
@@ -273,12 +236,13 @@ Montage_frame_eq(VALUE self, VALUE frame_arg)
273
236
  /**
274
237
  * Set geometry value.
275
238
  *
276
- * Ruby usage:
277
- * - @verbatim Magick::Montage#geometry(geometry) @endverbatim
239
+ * - The geometry is a string in the form:
240
+ * <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
241
+ * or a Geometry object
278
242
  *
279
- * @param self this object
280
- * @param geometry_arg the geometry
281
- * @return geometry_arg
243
+ * @param geometry_arg [String] the geometry
244
+ * @return [String] the given geometry
245
+ * @see https://www.imagemagick.org/Magick++/Geometry.html
282
246
  */
283
247
  VALUE
284
248
  Montage_geometry_eq(VALUE self, VALUE geometry_arg)
@@ -287,8 +251,8 @@ Montage_geometry_eq(VALUE self, VALUE geometry_arg)
287
251
  VALUE geometry;
288
252
 
289
253
  Data_Get_Struct(self, Montage, montage);
290
- geometry = rm_to_s(geometry_arg);
291
- magick_clone_string(&montage->info->geometry, StringValuePtr(geometry));
254
+ geometry = rb_String(geometry_arg);
255
+ magick_clone_string(&montage->info->geometry, StringValueCStr(geometry));
292
256
 
293
257
  RB_GC_GUARD(geometry);
294
258
 
@@ -299,12 +263,8 @@ Montage_geometry_eq(VALUE self, VALUE geometry_arg)
299
263
  /**
300
264
  * Set gravity value.
301
265
  *
302
- * Ruby usage:
303
- * - @verbatim Magick::Montage#gravity(gravity-type) @endverbatim
304
- *
305
- * @param self this object
306
- * @param gravity the gravity type
307
- * @return gravity
266
+ * @param gravity [Magick::GravityType] the gravity type
267
+ * @return [Magick::GravityType] the given gravity
308
268
  */
309
269
  VALUE
310
270
  Montage_gravity_eq(VALUE self, VALUE gravity)
@@ -320,11 +280,7 @@ Montage_gravity_eq(VALUE self, VALUE gravity)
320
280
  /**
321
281
  * Initialize a Montage object. Does nothing currently.
322
282
  *
323
- * Ruby usage:
324
- * - @verbatim Magick::Montage#initialize @endverbatim
325
- *
326
- * @param self this object
327
- * @return self
283
+ * @return [Magick::ImageList::Montage] self
328
284
  */
329
285
  VALUE
330
286
  Montage_initialize(VALUE self)
@@ -337,12 +293,8 @@ Montage_initialize(VALUE self)
337
293
  /**
338
294
  * Set matte_color value.
339
295
  *
340
- * Ruby usage:
341
- * - @verbatim Magick::Montage#matte_color(color-name) @endverbatim
342
- *
343
- * @param self this object
344
- * @param color the color name
345
- * @return color
296
+ * @param color [Magick::Pixel, String] the color name
297
+ * @return [Magick::Pixel, String] the given color name
346
298
  */
347
299
  VALUE
348
300
  Montage_matte_color_eq(VALUE self, VALUE color)
@@ -358,12 +310,8 @@ Montage_matte_color_eq(VALUE self, VALUE color)
358
310
  /**
359
311
  * Set pointsize value.
360
312
  *
361
- * Ruby usage:
362
- * - @verbatim Magick::Montage#pointsize= @endverbatim
363
- *
364
- * @param self this object
365
- * @param size the point size
366
- * @return size
313
+ * @param size [Numeric] the point size
314
+ * @return [Numeric] the given point size
367
315
  */
368
316
  VALUE
369
317
  Montage_pointsize_eq(VALUE self, VALUE size)
@@ -379,12 +327,8 @@ Montage_pointsize_eq(VALUE self, VALUE size)
379
327
  /**
380
328
  * Set shadow value.
381
329
  *
382
- * Ruby usage:
383
- * - @verbatim Magick::Montage#shadow= @endverbatim
384
- *
385
- * @param self this object
386
- * @param shadow the shadow
387
- * @return shadow
330
+ * @param shadow [Bool] true if the shadow will be enabled
331
+ * @return [Bool] the given value
388
332
  */
389
333
  VALUE
390
334
  Montage_shadow_eq(VALUE self, VALUE shadow)
@@ -400,12 +344,8 @@ Montage_shadow_eq(VALUE self, VALUE shadow)
400
344
  /**
401
345
  * Set stroke value.
402
346
  *
403
- * Ruby usage:
404
- * - @verbatim Magick::Montage#stroke(color-name) @endverbatim
405
- *
406
- * @param self this object
407
- * @param color the color name
408
- * @return self
347
+ * @param color [Magick::Pixel, String] the color name
348
+ * @return [Magick::Pixel, String] the given color name
409
349
  */
410
350
  VALUE
411
351
  Montage_stroke_eq(VALUE self, VALUE color)
@@ -421,12 +361,9 @@ Montage_stroke_eq(VALUE self, VALUE color)
421
361
  /**
422
362
  * Set texture value.
423
363
  *
424
- * Ruby usage:
425
- * - @verbatim Montage#texture(texture-image) @endverbatim
426
- *
427
- * @param self this object
428
- * @param texture the texture image
429
- * @return texture
364
+ * @param texture [Magick::Image, Magick::ImageList] Either an imagelist or an image. If an
365
+ * imagelist, uses the current image.
366
+ * @return [Magick::Image] the given texture image
430
367
  */
431
368
  VALUE
432
369
  Montage_texture_eq(VALUE self, VALUE texture)
@@ -450,7 +387,7 @@ Montage_texture_eq(VALUE self, VALUE texture)
450
387
  texture_image = rm_check_destroyed(texture);
451
388
 
452
389
  // Write a temp copy of the image & save its name.
453
- rm_write_temp_image(texture_image, temp_name);
390
+ rm_write_temp_image(texture_image, temp_name, sizeof(temp_name));
454
391
  magick_clone_string(&montage->info->texture, temp_name);
455
392
 
456
393
  return texture;
@@ -460,12 +397,13 @@ Montage_texture_eq(VALUE self, VALUE texture)
460
397
  /**
461
398
  * Set tile value.
462
399
  *
463
- * Ruby usage:
464
- * - @verbatim Magick::Montage#tile(tile) @endverbatim
400
+ * - The geometry is a string in the form:
401
+ * <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
402
+ * or a Geometry object
465
403
  *
466
- * @param self this object
467
- * @param tile_arg the tile
468
- * @return tile_arg
404
+ * @param tile_arg [String] the tile geometry
405
+ * @return [String] the given tile geometry
406
+ * @see https://www.imagemagick.org/Magick++/Geometry.html
469
407
  */
470
408
  VALUE
471
409
  Montage_tile_eq(VALUE self, VALUE tile_arg)
@@ -474,8 +412,8 @@ Montage_tile_eq(VALUE self, VALUE tile_arg)
474
412
  VALUE tile;
475
413
 
476
414
  Data_Get_Struct(self, Montage, montage);
477
- tile = rm_to_s(tile_arg);
478
- magick_clone_string(&montage->info->tile, StringValuePtr(tile));
415
+ tile = rb_String(tile_arg);
416
+ magick_clone_string(&montage->info->tile, StringValueCStr(tile));
479
417
 
480
418
  RB_GC_GUARD(tile);
481
419
 
@@ -486,12 +424,8 @@ Montage_tile_eq(VALUE self, VALUE tile_arg)
486
424
  /**
487
425
  * Set title value.
488
426
  *
489
- * Ruby usage:
490
- * - @verbatim Magick::Montage#title(title) @endverbatim
491
- *
492
- * @param self this object
493
- * @param title the title
494
- * @return title
427
+ * @param title [String] the title
428
+ * @return [String] the given title
495
429
  */
496
430
  VALUE
497
431
  Montage_title_eq(VALUE self, VALUE title)
@@ -499,17 +433,17 @@ Montage_title_eq(VALUE self, VALUE title)
499
433
  Montage *montage;
500
434
 
501
435
  Data_Get_Struct(self, Montage, montage);
502
- magick_clone_string(&montage->info->title, StringValuePtr(title));
436
+ magick_clone_string(&montage->info->title, StringValueCStr(title));
503
437
  return title;
504
438
  }
505
439
 
506
440
 
507
441
  /**
508
- * Return a new Magick::Montage object.
442
+ * Return a new Magick::ImageList::Montage object.
509
443
  *
510
444
  * No Ruby usage (internal function)
511
445
  *
512
- * @return a new Magick::Montage object
446
+ * @return a new Magick::ImageList::Montage object
513
447
  */
514
448
  VALUE
515
449
  rm_montage_new(void)