rmagick 4.1.0.rc2 → 4.2.1

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 (414) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.editorconfig +3 -0
  4. data/.github/ISSUE_TEMPLATE.md +17 -0
  5. data/.github/workflows/ci.yml +108 -0
  6. data/.gitignore +3 -1
  7. data/.rspec +1 -0
  8. data/.rubocop.yml +24 -0
  9. data/.rubocop_todo.yml +151 -297
  10. data/.yardopts +5 -0
  11. data/CHANGELOG.md +96 -0
  12. data/CODE_OF_CONDUCT.md +122 -7
  13. data/CONTRIBUTING.md +14 -10
  14. data/README.md +324 -0
  15. data/Rakefile +16 -22
  16. data/before_install_linux.sh +22 -32
  17. data/before_install_osx.sh +57 -2
  18. data/ext/RMagick/extconf.rb +108 -95
  19. data/ext/RMagick/rmagick.c +77 -104
  20. data/ext/RMagick/rmagick.h +77 -70
  21. data/ext/RMagick/rmdraw.c +289 -446
  22. data/ext/RMagick/rmenum.c +96 -113
  23. data/ext/RMagick/rmfill.c +49 -77
  24. data/ext/RMagick/rmilist.c +144 -244
  25. data/ext/RMagick/rmimage.c +3407 -4166
  26. data/ext/RMagick/rminfo.c +540 -738
  27. data/ext/RMagick/rmkinfo.c +21 -87
  28. data/ext/RMagick/rmmain.c +419 -246
  29. data/ext/RMagick/rmmontage.c +60 -126
  30. data/ext/RMagick/rmpixel.c +401 -345
  31. data/ext/RMagick/rmstruct.c +62 -88
  32. data/ext/RMagick/rmutil.c +151 -228
  33. data/lib/rmagick/version.rb +1 -1
  34. data/lib/rmagick_internal.rb +128 -77
  35. data/lib/rvg/clippath.rb +2 -1
  36. data/lib/rvg/container.rb +10 -5
  37. data/lib/rvg/describable.rb +1 -1
  38. data/lib/rvg/embellishable.rb +5 -4
  39. data/lib/rvg/misc.rb +15 -12
  40. data/lib/rvg/paint.rb +2 -1
  41. data/lib/rvg/pathdata.rb +12 -11
  42. data/lib/rvg/rvg.rb +8 -4
  43. data/lib/rvg/stylable.rb +9 -7
  44. data/lib/rvg/text.rb +11 -6
  45. data/lib/rvg/transformable.rb +3 -2
  46. data/lib/rvg/units.rb +1 -1
  47. data/rmagick.gemspec +8 -6
  48. metadata +46 -421
  49. data/.appveyor.yml +0 -57
  50. data/.circleci/config.yml +0 -56
  51. data/.ruby-version +0 -1
  52. data/.simplecov +0 -27
  53. data/.travis.yml +0 -64
  54. data/Doxyfile +0 -1514
  55. data/README.textile +0 -259
  56. data/benchmarks/memory/README.md +0 -50
  57. data/benchmarks/memory/image_new.rb +0 -8
  58. data/benchmarks/memory/rmagick.gnuplot +0 -16
  59. data/doc/.cvsignore +0 -1
  60. data/doc/comtasks.html +0 -287
  61. data/doc/constants.html +0 -1581
  62. data/doc/css/doc.css +0 -299
  63. data/doc/css/popup.css +0 -34
  64. data/doc/css/ref.css +0 -67
  65. data/doc/draw.html +0 -3272
  66. data/doc/ex/InitialCoords.rb +0 -22
  67. data/doc/ex/NewCoordSys.rb +0 -30
  68. data/doc/ex/OrigCoordSys.rb +0 -16
  69. data/doc/ex/PreserveAspectRatio.rb +0 -204
  70. data/doc/ex/RotateScale.rb +0 -36
  71. data/doc/ex/Skew.rb +0 -38
  72. data/doc/ex/Use01.rb +0 -15
  73. data/doc/ex/Use02.rb +0 -20
  74. data/doc/ex/Use03.rb +0 -16
  75. data/doc/ex/ViewBox.rb +0 -31
  76. data/doc/ex/adaptive_threshold.rb +0 -9
  77. data/doc/ex/add_noise.rb +0 -16
  78. data/doc/ex/affine.rb +0 -48
  79. data/doc/ex/affine_transform.rb +0 -20
  80. data/doc/ex/arc.rb +0 -49
  81. data/doc/ex/arcpath.rb +0 -32
  82. data/doc/ex/arcs01.rb +0 -28
  83. data/doc/ex/arcs02.rb +0 -59
  84. data/doc/ex/average.rb +0 -15
  85. data/doc/ex/axes.rb +0 -64
  86. data/doc/ex/baseline_shift01.rb +0 -17
  87. data/doc/ex/bilevel_channel.rb +0 -8
  88. data/doc/ex/blur_image.rb +0 -12
  89. data/doc/ex/border.rb +0 -10
  90. data/doc/ex/bounding_box.rb +0 -42
  91. data/doc/ex/cbezier1.rb +0 -41
  92. data/doc/ex/cbezier2.rb +0 -41
  93. data/doc/ex/cbezier3.rb +0 -41
  94. data/doc/ex/cbezier4.rb +0 -42
  95. data/doc/ex/cbezier5.rb +0 -42
  96. data/doc/ex/cbezier6.rb +0 -53
  97. data/doc/ex/channel.rb +0 -25
  98. data/doc/ex/charcoal.rb +0 -12
  99. data/doc/ex/chop.rb +0 -29
  100. data/doc/ex/circle.rb +0 -33
  101. data/doc/ex/circle01.rb +0 -16
  102. data/doc/ex/clip_path.rb +0 -60
  103. data/doc/ex/coalesce.rb +0 -57
  104. data/doc/ex/color_fill_to_border.rb +0 -29
  105. data/doc/ex/color_floodfill.rb +0 -28
  106. data/doc/ex/color_histogram.rb +0 -47
  107. data/doc/ex/color_reset.rb +0 -11
  108. data/doc/ex/colorize.rb +0 -16
  109. data/doc/ex/colors.rb +0 -64
  110. data/doc/ex/compose_mask.rb +0 -22
  111. data/doc/ex/composite.rb +0 -133
  112. data/doc/ex/composite_layers.rb +0 -52
  113. data/doc/ex/composite_tiled.rb +0 -21
  114. data/doc/ex/contrast.rb +0 -36
  115. data/doc/ex/crop.rb +0 -31
  116. data/doc/ex/crop_with_gravity.rb +0 -42
  117. data/doc/ex/cubic01.rb +0 -43
  118. data/doc/ex/cubic02.rb +0 -91
  119. data/doc/ex/cycle_colormap.rb +0 -21
  120. data/doc/ex/dissolve.rb +0 -12
  121. data/doc/ex/drawcomp.rb +0 -41
  122. data/doc/ex/drop_shadow.rb +0 -60
  123. data/doc/ex/edge.rb +0 -11
  124. data/doc/ex/ellipse.rb +0 -45
  125. data/doc/ex/ellipse01.rb +0 -21
  126. data/doc/ex/emboss.rb +0 -11
  127. data/doc/ex/enhance.rb +0 -28
  128. data/doc/ex/equalize.rb +0 -11
  129. data/doc/ex/evenodd.rb +0 -42
  130. data/doc/ex/fill_pattern.rb +0 -23
  131. data/doc/ex/flatten_images.rb +0 -36
  132. data/doc/ex/flip.rb +0 -11
  133. data/doc/ex/flop.rb +0 -11
  134. data/doc/ex/font_styles.rb +0 -32
  135. data/doc/ex/fonts.rb +0 -16
  136. data/doc/ex/frame.rb +0 -12
  137. data/doc/ex/gaussian_blur.rb +0 -11
  138. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  139. data/doc/ex/get_pixels.rb +0 -45
  140. data/doc/ex/get_type_metrics.rb +0 -142
  141. data/doc/ex/gradientfill.rb +0 -27
  142. data/doc/ex/grav.rb +0 -45
  143. data/doc/ex/gravity.rb +0 -78
  144. data/doc/ex/group.rb +0 -26
  145. data/doc/ex/hatchfill.rb +0 -27
  146. data/doc/ex/image.rb +0 -44
  147. data/doc/ex/images/Apple.miff +0 -0
  148. data/doc/ex/images/Ballerina.jpg +0 -0
  149. data/doc/ex/images/Ballerina3.jpg +0 -0
  150. data/doc/ex/images/Button_0.gif +0 -0
  151. data/doc/ex/images/Button_1.gif +0 -0
  152. data/doc/ex/images/Button_2.gif +0 -0
  153. data/doc/ex/images/Button_3.gif +0 -0
  154. data/doc/ex/images/Button_4.gif +0 -0
  155. data/doc/ex/images/Button_5.gif +0 -0
  156. data/doc/ex/images/Button_6.gif +0 -0
  157. data/doc/ex/images/Button_7.gif +0 -0
  158. data/doc/ex/images/Button_8.gif +0 -0
  159. data/doc/ex/images/Button_9.gif +0 -0
  160. data/doc/ex/images/Button_A.gif +0 -0
  161. data/doc/ex/images/Button_B.gif +0 -0
  162. data/doc/ex/images/Button_C.gif +0 -0
  163. data/doc/ex/images/Button_D.gif +0 -0
  164. data/doc/ex/images/Button_E.gif +0 -0
  165. data/doc/ex/images/Button_F.gif +0 -0
  166. data/doc/ex/images/Button_G.gif +0 -0
  167. data/doc/ex/images/Button_H.gif +0 -0
  168. data/doc/ex/images/Button_I.gif +0 -0
  169. data/doc/ex/images/Button_J.gif +0 -0
  170. data/doc/ex/images/Button_K.gif +0 -0
  171. data/doc/ex/images/Button_L.gif +0 -0
  172. data/doc/ex/images/Button_M.gif +0 -0
  173. data/doc/ex/images/Button_N.gif +0 -0
  174. data/doc/ex/images/Button_O.gif +0 -0
  175. data/doc/ex/images/Button_P.gif +0 -0
  176. data/doc/ex/images/Button_Q.gif +0 -0
  177. data/doc/ex/images/Button_R.gif +0 -0
  178. data/doc/ex/images/Button_S.gif +0 -0
  179. data/doc/ex/images/Button_T.gif +0 -0
  180. data/doc/ex/images/Button_U.gif +0 -0
  181. data/doc/ex/images/Button_V.gif +0 -0
  182. data/doc/ex/images/Button_W.gif +0 -0
  183. data/doc/ex/images/Button_X.gif +0 -0
  184. data/doc/ex/images/Button_Y.gif +0 -0
  185. data/doc/ex/images/Button_Z.gif +0 -0
  186. data/doc/ex/images/Cheetah.jpg +0 -0
  187. data/doc/ex/images/Coffee.png +0 -0
  188. data/doc/ex/images/Flower_Hat.jpg +0 -0
  189. data/doc/ex/images/Gold_Statue.jpg +0 -0
  190. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  191. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  192. data/doc/ex/images/Leaf.miff +0 -0
  193. data/doc/ex/images/No.png +0 -0
  194. data/doc/ex/images/Polynesia.jpg +0 -0
  195. data/doc/ex/images/Red_Rocks.jpg +0 -0
  196. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  197. data/doc/ex/images/Shorts.jpg +0 -0
  198. data/doc/ex/images/Snake.png +0 -0
  199. data/doc/ex/images/Violin.jpg +0 -0
  200. data/doc/ex/images/Yellow_Rose.miff +0 -0
  201. data/doc/ex/images/big-duck.gif +0 -0
  202. data/doc/ex/images/duck.gif +0 -0
  203. data/doc/ex/images/duck0.gif +0 -0
  204. data/doc/ex/images/duck1.gif +0 -0
  205. data/doc/ex/images/duck10.gif +0 -0
  206. data/doc/ex/images/duck11.gif +0 -0
  207. data/doc/ex/images/duck12.gif +0 -0
  208. data/doc/ex/images/duck13.gif +0 -0
  209. data/doc/ex/images/duck14.gif +0 -0
  210. data/doc/ex/images/duck15.gif +0 -0
  211. data/doc/ex/images/duck2.gif +0 -0
  212. data/doc/ex/images/duck3.gif +0 -0
  213. data/doc/ex/images/duck4.gif +0 -0
  214. data/doc/ex/images/duck5.gif +0 -0
  215. data/doc/ex/images/duck6.gif +0 -0
  216. data/doc/ex/images/duck7.gif +0 -0
  217. data/doc/ex/images/duck8.gif +0 -0
  218. data/doc/ex/images/duck9.gif +0 -0
  219. data/doc/ex/images/graydient230x6.gif +0 -0
  220. data/doc/ex/images/image_with_profile.jpg +0 -0
  221. data/doc/ex/images/logo400x83.gif +0 -0
  222. data/doc/ex/images/model.miff +0 -0
  223. data/doc/ex/images/notimplemented.gif +0 -0
  224. data/doc/ex/images/smile.miff +0 -0
  225. data/doc/ex/images/spin.gif +0 -0
  226. data/doc/ex/implode.rb +0 -34
  227. data/doc/ex/level.rb +0 -11
  228. data/doc/ex/level_colors.rb +0 -11
  229. data/doc/ex/line.rb +0 -41
  230. data/doc/ex/line01.rb +0 -21
  231. data/doc/ex/mask.rb +0 -35
  232. data/doc/ex/matte_fill_to_border.rb +0 -39
  233. data/doc/ex/matte_floodfill.rb +0 -32
  234. data/doc/ex/matte_replace.rb +0 -39
  235. data/doc/ex/median_filter.rb +0 -28
  236. data/doc/ex/modulate.rb +0 -11
  237. data/doc/ex/mono.rb +0 -23
  238. data/doc/ex/morph.rb +0 -25
  239. data/doc/ex/mosaic.rb +0 -37
  240. data/doc/ex/motion_blur.rb +0 -11
  241. data/doc/ex/negate.rb +0 -11
  242. data/doc/ex/negate_channel.rb +0 -9
  243. data/doc/ex/nested_rvg.rb +0 -21
  244. data/doc/ex/nonzero.rb +0 -42
  245. data/doc/ex/normalize.rb +0 -11
  246. data/doc/ex/oil_paint.rb +0 -11
  247. data/doc/ex/opacity.rb +0 -37
  248. data/doc/ex/ordered_dither.rb +0 -11
  249. data/doc/ex/path.rb +0 -63
  250. data/doc/ex/pattern1.rb +0 -25
  251. data/doc/ex/pattern2.rb +0 -26
  252. data/doc/ex/polaroid.rb +0 -26
  253. data/doc/ex/polygon.rb +0 -23
  254. data/doc/ex/polygon01.rb +0 -21
  255. data/doc/ex/polyline.rb +0 -22
  256. data/doc/ex/polyline01.rb +0 -21
  257. data/doc/ex/posterize.rb +0 -8
  258. data/doc/ex/preview.rb +0 -8
  259. data/doc/ex/qbezierpath.rb +0 -52
  260. data/doc/ex/quad01.rb +0 -34
  261. data/doc/ex/quantize-m.rb +0 -25
  262. data/doc/ex/radial_blur.rb +0 -9
  263. data/doc/ex/raise.rb +0 -8
  264. data/doc/ex/random_threshold_channel.rb +0 -13
  265. data/doc/ex/rect01.rb +0 -14
  266. data/doc/ex/rect02.rb +0 -20
  267. data/doc/ex/rectangle.rb +0 -34
  268. data/doc/ex/reduce_noise.rb +0 -28
  269. data/doc/ex/remap.rb +0 -11
  270. data/doc/ex/remap_images.rb +0 -19
  271. data/doc/ex/resize_to_fill.rb +0 -8
  272. data/doc/ex/resize_to_fit.rb +0 -8
  273. data/doc/ex/roll.rb +0 -9
  274. data/doc/ex/rotate.rb +0 -44
  275. data/doc/ex/rotate_f.rb +0 -14
  276. data/doc/ex/roundrect.rb +0 -33
  277. data/doc/ex/rubyname.rb +0 -30
  278. data/doc/ex/rvg_clippath.rb +0 -12
  279. data/doc/ex/rvg_linecap.rb +0 -42
  280. data/doc/ex/rvg_linejoin.rb +0 -40
  281. data/doc/ex/rvg_opacity.rb +0 -18
  282. data/doc/ex/rvg_pattern.rb +0 -26
  283. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  284. data/doc/ex/segment.rb +0 -11
  285. data/doc/ex/sepiatone.rb +0 -7
  286. data/doc/ex/shade.rb +0 -11
  287. data/doc/ex/shadow.rb +0 -30
  288. data/doc/ex/shave.rb +0 -15
  289. data/doc/ex/shear.rb +0 -10
  290. data/doc/ex/sketch.rb +0 -17
  291. data/doc/ex/skewx.rb +0 -51
  292. data/doc/ex/skewy.rb +0 -47
  293. data/doc/ex/smile.rb +0 -126
  294. data/doc/ex/solarize.rb +0 -11
  295. data/doc/ex/sparse_color.rb +0 -55
  296. data/doc/ex/splice.rb +0 -8
  297. data/doc/ex/spread.rb +0 -11
  298. data/doc/ex/stegano.rb +0 -54
  299. data/doc/ex/stroke_dasharray.rb +0 -42
  300. data/doc/ex/stroke_fill.rb +0 -10
  301. data/doc/ex/stroke_linecap.rb +0 -44
  302. data/doc/ex/stroke_linejoin.rb +0 -48
  303. data/doc/ex/stroke_width.rb +0 -49
  304. data/doc/ex/swirl.rb +0 -17
  305. data/doc/ex/text.rb +0 -37
  306. data/doc/ex/text01.rb +0 -16
  307. data/doc/ex/text_align.rb +0 -36
  308. data/doc/ex/text_antialias.rb +0 -37
  309. data/doc/ex/text_styles.rb +0 -19
  310. data/doc/ex/text_undercolor.rb +0 -28
  311. data/doc/ex/texture_fill_to_border.rb +0 -34
  312. data/doc/ex/texture_floodfill.rb +0 -32
  313. data/doc/ex/texturefill.rb +0 -24
  314. data/doc/ex/threshold.rb +0 -13
  315. data/doc/ex/to_blob.rb +0 -13
  316. data/doc/ex/translate.rb +0 -39
  317. data/doc/ex/transparent.rb +0 -38
  318. data/doc/ex/transpose.rb +0 -9
  319. data/doc/ex/transverse.rb +0 -9
  320. data/doc/ex/tref01.rb +0 -24
  321. data/doc/ex/triangle01.rb +0 -15
  322. data/doc/ex/trim.rb +0 -23
  323. data/doc/ex/tspan01.rb +0 -17
  324. data/doc/ex/tspan02.rb +0 -17
  325. data/doc/ex/tspan03.rb +0 -19
  326. data/doc/ex/unsharp_mask.rb +0 -28
  327. data/doc/ex/viewex.rb +0 -33
  328. data/doc/ex/vignette.rb +0 -12
  329. data/doc/ex/watermark.rb +0 -27
  330. data/doc/ex/wave.rb +0 -9
  331. data/doc/ex/wet_floor.rb +0 -58
  332. data/doc/ex/writing_mode01.rb +0 -26
  333. data/doc/ex/writing_mode02.rb +0 -26
  334. data/doc/ilist.html +0 -2056
  335. data/doc/image1.html +0 -4680
  336. data/doc/image2.html +0 -3665
  337. data/doc/image3.html +0 -4522
  338. data/doc/imageattrs.html +0 -1638
  339. data/doc/imusage.html +0 -514
  340. data/doc/index.html +0 -416
  341. data/doc/info.html +0 -1499
  342. data/doc/magick.html +0 -570
  343. data/doc/optequiv.html +0 -2435
  344. data/doc/rvg.html +0 -975
  345. data/doc/rvgclip.html +0 -248
  346. data/doc/rvggroup.html +0 -305
  347. data/doc/rvgimage.html +0 -289
  348. data/doc/rvgpattern.html +0 -475
  349. data/doc/rvgshape.html +0 -406
  350. data/doc/rvgstyle.html +0 -270
  351. data/doc/rvgtext.html +0 -465
  352. data/doc/rvgtspan.html +0 -238
  353. data/doc/rvgtut.html +0 -530
  354. data/doc/rvguse.html +0 -145
  355. data/doc/rvgxform.html +0 -294
  356. data/doc/scripts/doc.js +0 -22
  357. data/doc/scripts/stripeTables.js +0 -23
  358. data/doc/struct.html +0 -1339
  359. data/doc/usage.html +0 -1621
  360. data/examples/constitute.rb +0 -7
  361. data/examples/crop_with_gravity.rb +0 -43
  362. data/examples/demo.rb +0 -323
  363. data/examples/describe.rb +0 -41
  364. data/examples/find_similar_region.rb +0 -34
  365. data/examples/histogram.rb +0 -312
  366. data/examples/identify.rb +0 -174
  367. data/examples/image_opacity.rb +0 -28
  368. data/examples/import_export.rb +0 -31
  369. data/examples/pattern_fill.rb +0 -37
  370. data/examples/rotating_text.rb +0 -45
  371. data/examples/spinner.rb +0 -49
  372. data/examples/thumbnail.rb +0 -64
  373. data/examples/vignette.rb +0 -78
  374. data/spec/rmagick/ImageList1_spec.rb +0 -24
  375. data/spec/rmagick/draw_spec.rb +0 -155
  376. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  377. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  378. data/spec/rmagick/image/composite_spec.rb +0 -72
  379. data/spec/rmagick/image/constitute_spec.rb +0 -13
  380. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  381. data/spec/rmagick/image/dissolve_spec.rb +0 -54
  382. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  383. data/spec/rmagick/image/ping_spec.rb +0 -12
  384. data/spec/rmagick/image/properties_spec.rb +0 -27
  385. data/spec/rmagick/image/read_spec.rb +0 -28
  386. data/spec/spec_helper.rb +0 -9
  387. data/spec/support/issue_200/app.rb +0 -8
  388. data/test/Draw.rb +0 -351
  389. data/test/Enum.rb +0 -228
  390. data/test/Fill.rb +0 -93
  391. data/test/Image1.rb +0 -606
  392. data/test/Image2.rb +0 -1408
  393. data/test/Image3.rb +0 -1086
  394. data/test/ImageList1.rb +0 -858
  395. data/test/ImageList2.rb +0 -375
  396. data/test/Image_attributes.rb +0 -635
  397. data/test/Import_Export.rb +0 -111
  398. data/test/Info.rb +0 -436
  399. data/test/KernelInfo.rb +0 -59
  400. data/test/Magick.rb +0 -311
  401. data/test/Pixel.rb +0 -259
  402. data/test/PolaroidOptions.rb +0 -23
  403. data/test/Preview.rb +0 -26
  404. data/test/Struct.rb +0 -45
  405. data/test/appearance/Montage.rb +0 -26
  406. data/test/appearance/appearance_assertion.rb +0 -13
  407. data/test/appearance/expected/montage_border_color.jpg +0 -0
  408. data/test/cmyk.icm +0 -0
  409. data/test/lib/internal/Draw.rb +0 -811
  410. data/test/lib/internal/Geometry.rb +0 -98
  411. data/test/lib/internal/Magick.rb +0 -40
  412. data/test/srgb.icm +0 -0
  413. data/test/test_all_basic.rb +0 -49
  414. data/test/tmpnam_test.rb +0 -50
data/ext/RMagick/rmenum.c CHANGED
@@ -76,10 +76,10 @@ rm_enum_new(VALUE class, VALUE sym, VALUE val)
76
76
  static const char *
77
77
  rm_enum_to_cstr(VALUE enum_type)
78
78
  {
79
- MagickEnum *magick_enum;
79
+ MagickEnum *magick_enum;
80
80
 
81
- Data_Get_Struct(enum_type, MagickEnum, magick_enum);
82
- return rb_id2name(magick_enum->id);
81
+ Data_Get_Struct(enum_type, MagickEnum, magick_enum);
82
+ return rb_id2name(magick_enum->id);
83
83
  }
84
84
 
85
85
  /**
@@ -96,44 +96,34 @@ static void rm_enum_free(void *magick_enum)
96
96
  /**
97
97
  * Enum class alloc function.
98
98
  *
99
- * No Ruby usage (internal function)
100
- *
101
- * @param class the Ruby class to use
102
- * @return a new enumerator
99
+ * @return [Magick::Enum] a new enumerator
103
100
  */
104
101
  VALUE
105
102
  Enum_alloc(VALUE class)
106
103
  {
107
- MagickEnum *magick_enum;
108
- VALUE enumr;
104
+ MagickEnum *magick_enum;
105
+ VALUE enumr;
109
106
 
110
- enumr = Data_Make_Struct(class, MagickEnum, NULL, rm_enum_free, magick_enum);
111
- rb_obj_freeze(enumr);
107
+ enumr = Data_Make_Struct(class, MagickEnum, NULL, rm_enum_free, magick_enum);
108
+ rb_obj_freeze(enumr);
112
109
 
113
- return enumr;
110
+ return enumr;
114
111
  }
115
112
 
116
113
 
117
114
  /**
118
115
  * "Case equal" operator for Enum.
119
116
  *
120
- * Ruby usage:
121
- * - @verbatim Enum#=== @endverbatim
122
- *
123
- * Notes:
124
- * - Yes, I know "case equal" is a misnomer.
125
- *
126
- * @param self this object
127
- * @param other the other object
128
- * @return true or false
117
+ * @param other [Object] the other object
118
+ * @return [Boolean] true or false
129
119
  */
130
120
  VALUE
131
121
  Enum_case_eq(VALUE self, VALUE other)
132
122
  {
133
- MagickEnum *this, *that;
134
-
135
123
  if (CLASS_OF(self) == CLASS_OF(other))
136
124
  {
125
+ MagickEnum *this, *that;
126
+
137
127
  Data_Get_Struct(self, MagickEnum, this);
138
128
  Data_Get_Struct(other, MagickEnum, that);
139
129
  return this->val == that->val ? Qtrue : Qfalse;
@@ -146,58 +136,43 @@ Enum_case_eq(VALUE self, VALUE other)
146
136
  /**
147
137
  * Initialize a new Enum instance.
148
138
  *
149
- * Ruby usage:
150
- * - @verbatim Enum#initialize(sym,val) @endverbatim
151
- *
152
- * @param self this object
153
- * @param sym the symbol
154
- * @param val the value for the symbol
155
- * @return self
139
+ * @param sym [Symbol] the symbol as enum name
140
+ * @param val [Numeric] the value for enum
141
+ * @return [Magick::Enum] self
156
142
  */
157
143
  VALUE
158
144
  Enum_initialize(VALUE self, VALUE sym, VALUE val)
159
145
  {
160
- MagickEnum *magick_enum;
146
+ MagickEnum *magick_enum;
161
147
 
162
- Data_Get_Struct(self, MagickEnum, magick_enum);
163
- magick_enum->id = rb_to_id(sym); /* convert symbol to ID */
164
- magick_enum->val = NUM2INT(val);
148
+ Data_Get_Struct(self, MagickEnum, magick_enum);
149
+ magick_enum->id = rb_to_id(sym); /* convert symbol to ID */
150
+ magick_enum->val = NUM2INT(val);
165
151
 
166
- return self;
152
+ return self;
167
153
  }
168
154
 
169
155
 
170
156
  /**
171
157
  * Return the value of an enum.
172
158
  *
173
- * Ruby usage:
174
- * - @verbatim Enum#to_i @endverbatim
175
- *
176
- * @param self this object
177
- * @return this object's value
159
+ * @return [Numeric] this object's value
178
160
  */
179
161
  VALUE
180
162
  Enum_to_i(VALUE self)
181
163
  {
182
- MagickEnum *magick_enum;
164
+ MagickEnum *magick_enum;
183
165
 
184
- Data_Get_Struct(self, MagickEnum, magick_enum);
185
- return INT2NUM(magick_enum->val);
166
+ Data_Get_Struct(self, MagickEnum, magick_enum);
167
+ return INT2NUM(magick_enum->val);
186
168
  }
187
169
 
188
170
 
189
171
  /**
190
172
  * Support Comparable module in Enum.
191
173
  *
192
- * Ruby usage:
193
- * - @verbatim Enum#<=> @endverbatim
194
- *
195
- * Notes:
196
- * - Enums must be instances of the same class to be equal.
197
- *
198
- * @param self this object
199
- * @param other the other object
200
- * @return -1, 0, 1, or nil
174
+ * @param other [Object] the other object
175
+ * @return [-1, 0, 1, nil] the result of compare
201
176
  */
202
177
  VALUE
203
178
  Enum_spaceship(VALUE self, VALUE other)
@@ -225,67 +200,52 @@ Enum_spaceship(VALUE self, VALUE other)
225
200
 
226
201
  /**
227
202
  * Bitwise OR for enums
228
- *
229
- * Ruby usage:
230
- * - @verbatim Enum1 | Enum2 @endverbatim
231
- *
232
- * Notes:
233
- * - Enums must be instances of the same class.
234
203
  *
235
- * @param Enum1 this object
236
- * @param Enum2 another enum
237
- * @return new Enum instance
204
+ * @param another [Magick::Enum] the another enum
205
+ * @return [Magick::Enum] new Enum instance
238
206
  */
239
207
  VALUE
240
208
  Enum_bitwise_or(VALUE self, VALUE another)
241
209
  {
242
- VALUE new_enum, cls;
243
- MagickEnum *this, *that, *new_enum_data;
210
+ VALUE new_enum, cls;
211
+ MagickEnum *this, *that, *new_enum_data;
244
212
 
245
- cls = CLASS_OF(self);
246
- if (CLASS_OF(another) != cls)
247
- {
248
- rb_raise(rb_eArgError, "Expected class %s but got %s", rb_class2name(cls), rb_class2name(CLASS_OF(another)));
249
- }
213
+ cls = CLASS_OF(self);
214
+ if (CLASS_OF(another) != cls)
215
+ {
216
+ rb_raise(rb_eArgError, "Expected class %s but got %s", rb_class2name(cls), rb_class2name(CLASS_OF(another)));
217
+ }
250
218
 
251
- new_enum = Enum_alloc(cls);
219
+ new_enum = Enum_alloc(cls);
252
220
 
253
- Data_Get_Struct(self, MagickEnum, this);
254
- Data_Get_Struct(another, MagickEnum, that);
255
- Data_Get_Struct(new_enum, MagickEnum, new_enum_data);
221
+ Data_Get_Struct(self, MagickEnum, this);
222
+ Data_Get_Struct(another, MagickEnum, that);
223
+ Data_Get_Struct(new_enum, MagickEnum, new_enum_data);
256
224
 
257
- new_enum_data->id = rb_to_id(rb_sprintf("%s|%s", rb_id2name(this->id), rb_id2name(that->id)));
258
- new_enum_data->val = this->val | that->val;
225
+ new_enum_data->id = rb_to_id(rb_sprintf("%s|%s", rb_id2name(this->id), rb_id2name(that->id)));
226
+ new_enum_data->val = this->val | that->val;
259
227
 
260
- return new_enum;
228
+ return new_enum;
261
229
  }
262
230
 
263
231
  /**
264
232
  * Return the name of an enum.
265
233
  *
266
- * Ruby usage:
267
- * - @verbatim Enum#to_s @endverbatim
268
- *
269
- * @param self this object
270
- * @return the name
234
+ * @return [String] the name of an enum
271
235
  */
272
236
  VALUE
273
237
  Enum_to_s(VALUE self)
274
238
  {
275
- return rb_str_new2(rm_enum_to_cstr(self));
239
+ return rb_str_new2(rm_enum_to_cstr(self));
276
240
  }
277
241
 
278
242
 
279
243
  /**
280
244
  * Initialize method for all Enum subclasses.
281
245
  *
282
- * Ruby usage:
283
- * - @verbatim xxx#initialize(sym,val) @endverbatim
284
- *
285
- * @param self this object
286
- * @param sym the symbol
287
- * @param val the value of the symbol
288
- * @return self
246
+ * @param sym [Symbol] the symbol as enum name
247
+ * @param val [Numeric] the value for enum
248
+ * @return [Magick::Enum] self
289
249
  */
290
250
  VALUE
291
251
  Enum_type_initialize(VALUE self, VALUE sym, VALUE val)
@@ -295,7 +255,7 @@ Enum_type_initialize(VALUE self, VALUE sym, VALUE val)
295
255
 
296
256
  super_argv[0] = sym;
297
257
  super_argv[1] = val;
298
- (void) rb_call_super(2, (const VALUE *)super_argv);
258
+ rb_call_super(2, (const VALUE *)super_argv);
299
259
 
300
260
  if (rb_cvar_defined(CLASS_OF(self), rb_intern(ENUMERATORS_CLASS_VAR)) != Qtrue)
301
261
  {
@@ -303,7 +263,7 @@ Enum_type_initialize(VALUE self, VALUE sym, VALUE val)
303
263
  }
304
264
 
305
265
  enumerators = rb_cv_get(CLASS_OF(self), ENUMERATORS_CLASS_VAR);
306
- (void) rb_ary_push(enumerators, self);
266
+ rb_ary_push(enumerators, self);
307
267
 
308
268
  RB_GC_GUARD(enumerators);
309
269
 
@@ -314,11 +274,7 @@ Enum_type_initialize(VALUE self, VALUE sym, VALUE val)
314
274
  /**
315
275
  * Enum subclass #inspect.
316
276
  *
317
- * Ruby usage:
318
- * - @verbatim xxx#inspect @endverbatim
319
- *
320
- * @param self this object
321
- * @return string representation of self
277
+ * @return [String] representation of self
322
278
  */
323
279
  static VALUE
324
280
  Enum_type_inspect(VALUE self)
@@ -327,7 +283,7 @@ Enum_type_inspect(VALUE self)
327
283
  MagickEnum *magick_enum;
328
284
 
329
285
  Data_Get_Struct(self, MagickEnum, magick_enum);
330
- sprintf(str, "%.48s=%d", rb_id2name(magick_enum->id), magick_enum->val);
286
+ snprintf(str, sizeof(str), "%.48s=%d", rb_id2name(magick_enum->id), magick_enum->val);
331
287
 
332
288
  return rb_str_new2(str);
333
289
  }
@@ -336,15 +292,14 @@ Enum_type_inspect(VALUE self)
336
292
  /**
337
293
  * Behaves like #each if a block is present, otherwise like #to_a.
338
294
  *
339
- * Ruby usage:
340
- * - @verbatim xxx.values @endverbatim
341
- * - @verbatim xxx.values {|v| } @endverbatim
295
+ * @overload values
296
+ * @return [Array<Magick::Enum>] the enum values
342
297
  *
343
- * Notes:
344
- * - Defined for each Enum subclass
345
- *
346
- * @param class the subclass
347
- * @return iterator over values if given block, a copy of the values otherwise
298
+ * @overload values
299
+ * iterator over values if given block
300
+ * @yield [val]
301
+ * @yieldparam val [Magick::Enum] an enum
302
+ * @return [Magick::Enum] self
348
303
  */
349
304
  static VALUE
350
305
  Enum_type_values(VALUE class)
@@ -359,7 +314,7 @@ Enum_type_values(VALUE class)
359
314
  {
360
315
  for (x = 0; x < RARRAY_LEN(enumerators); x++)
361
316
  {
362
- (void) rb_yield(rb_ary_entry(enumerators, x));
317
+ rb_yield(rb_ary_entry(enumerators, x));
363
318
  }
364
319
  rv = class;
365
320
  }
@@ -368,7 +323,7 @@ Enum_type_values(VALUE class)
368
323
  copy = rb_ary_new2(RARRAY_LEN(enumerators));
369
324
  for (x = 0; x < RARRAY_LEN(enumerators); x++)
370
325
  {
371
- (void) rb_ary_push(copy, rb_ary_entry(enumerators, x));
326
+ rb_ary_push(copy, rb_ary_entry(enumerators, x));
372
327
  }
373
328
  rb_obj_freeze(copy);
374
329
  rv = copy;
@@ -403,12 +358,12 @@ Enum_find(VALUE class, int val)
403
358
 
404
359
  for (x = 0; x < RARRAY_LEN(enumerators); x++)
405
360
  {
406
- VALUE enumerator = rb_ary_entry(enumerators, x);
407
- Data_Get_Struct(enumerator, MagickEnum, magick_enum);
408
- if (magick_enum->val == val)
409
- {
410
- return enumerator;
411
- }
361
+ VALUE enumerator = rb_ary_entry(enumerators, x);
362
+ Data_Get_Struct(enumerator, MagickEnum, magick_enum);
363
+ if (magick_enum->val == val)
364
+ {
365
+ return enumerator;
366
+ }
412
367
  }
413
368
 
414
369
  return Qnil;
@@ -505,7 +460,35 @@ ComplianceType_name(ComplianceType *c)
505
460
  VALUE
506
461
  ComplianceType_find(ComplianceType compliance)
507
462
  {
508
- return Enum_find(Class_ComplianceType, compliance);
463
+ ComplianceType c;
464
+
465
+ // Turn off undefined bits
466
+ if ((compliance & (SVGCompliance|X11Compliance|XPMCompliance))
467
+ == (SVGCompliance|X11Compliance|XPMCompliance))
468
+ {
469
+ c = SVGCompliance|X11Compliance|XPMCompliance;
470
+ }
471
+ else if (compliance & SVGCompliance)
472
+ {
473
+ c = SVGCompliance;
474
+ }
475
+ else if (compliance & X11Compliance)
476
+ {
477
+ c = X11Compliance;
478
+ }
479
+ else if (compliance & XPMCompliance)
480
+ {
481
+ c = XPMCompliance;
482
+ }
483
+ else if (compliance == NoCompliance)
484
+ {
485
+ c = NoCompliance;
486
+ }
487
+ else
488
+ {
489
+ c = UndefinedCompliance;
490
+ }
491
+ return Enum_find(Class_ComplianceType, c);
509
492
  }
510
493
 
511
494
 
data/ext/RMagick/rmfill.c CHANGED
@@ -44,10 +44,7 @@ static void free_Fill(void *fill)
44
44
  /**
45
45
  * Create new GradientFill object.
46
46
  *
47
- * No Ruby usage (internal function)
48
- *
49
- * @param class the Ruby class to use
50
- * @return a new GradientFill object
47
+ * @return [Magick::GradientFill] a new GradientFill object
51
48
  */
52
49
  VALUE
53
50
  GradientFill_alloc(VALUE class)
@@ -59,19 +56,15 @@ GradientFill_alloc(VALUE class)
59
56
 
60
57
 
61
58
  /**
62
- * Store the vector points and the start and stop colors.
63
- *
64
- * Ruby usage:
65
- * - @verbatim GradientFill#initialize(x1,y1,x2,y2,start_color,stop_color) @endverbatim
66
- *
67
- * @param self this object
68
- * @param x1 x position of first point
69
- * @param y1 y position of first point
70
- * @param x2 x position of second point
71
- * @param y2 y position of second point
72
- * @param start_color the start color
73
- * @param stop_color the stop color
74
- * @return self
59
+ * Initialize GradientFill object.
60
+ *
61
+ * @param x1 [Float] x position of first point
62
+ * @param y1 [Float] y position of first point
63
+ * @param x2 [Float] x position of second point
64
+ * @param y2 [Float] y position of second point
65
+ * @param start_color [Magick::Pixel, String] the start color
66
+ * @param stop_color [Magick::Pixel, String] the stop color
67
+ * @return [Magick::GradientFill] self
75
68
  */
76
69
  VALUE
77
70
  GradientFill_initialize(
@@ -139,7 +132,7 @@ point_fill(
139
132
  #endif
140
133
 
141
134
  row_pixels = QueueAuthenticPixels(image, 0, y, image->columns, 1, exception);
142
- CHECK_EXCEPTION()
135
+ CHECK_EXCEPTION();
143
136
 
144
137
  for (x = 0; x < (ssize_t) image->columns; x++)
145
138
  {
@@ -161,10 +154,10 @@ point_fill(
161
154
  }
162
155
 
163
156
  SyncAuthenticPixels(image, exception);
164
- CHECK_EXCEPTION()
157
+ CHECK_EXCEPTION();
165
158
  }
166
159
 
167
- (void) DestroyExceptionInfo(exception);
160
+ DestroyExceptionInfo(exception);
168
161
  }
169
162
 
170
163
  /**
@@ -216,7 +209,7 @@ vertical_fill(
216
209
  Quantum *row_pixels;
217
210
 
218
211
  row_pixels = QueueAuthenticPixels(image, 0, y, image->columns, 1, exception);
219
- CHECK_EXCEPTION()
212
+ CHECK_EXCEPTION();
220
213
 
221
214
  for (x = 0; x < (ssize_t) image->columns; x++)
222
215
  {
@@ -230,10 +223,10 @@ vertical_fill(
230
223
  }
231
224
 
232
225
  SyncAuthenticPixels(image, exception);
233
- CHECK_EXCEPTION()
226
+ CHECK_EXCEPTION();
234
227
  }
235
228
 
236
- (void) DestroyExceptionInfo(exception);
229
+ DestroyExceptionInfo(exception);
237
230
  #else
238
231
  // All the rows are the same. Make a "master row" and simply copy
239
232
  // it to each actual row.
@@ -270,7 +263,7 @@ vertical_fill(
270
263
  }
271
264
  }
272
265
 
273
- (void) DestroyExceptionInfo(exception);
266
+ DestroyExceptionInfo(exception);
274
267
 
275
268
  xfree((void *) master);
276
269
  #endif
@@ -322,7 +315,7 @@ horizontal_fill(
322
315
  Quantum *row_pixels;
323
316
 
324
317
  row_pixels = QueueAuthenticPixels(image, 0, y, image->columns, 1, exception);
325
- CHECK_EXCEPTION()
318
+ CHECK_EXCEPTION();
326
319
 
327
320
  double distance = fabs(y1 - y);
328
321
  for (x = 0; x < (ssize_t) image->columns; x++)
@@ -336,10 +329,10 @@ horizontal_fill(
336
329
  }
337
330
 
338
331
  SyncAuthenticPixels(image, exception);
339
- CHECK_EXCEPTION()
332
+ CHECK_EXCEPTION();
340
333
  }
341
334
 
342
- (void) DestroyExceptionInfo(exception);
335
+ DestroyExceptionInfo(exception);
343
336
  #else
344
337
  // All the columns are the same, so make a master column and copy it to
345
338
  // each of the "real" columns.
@@ -375,7 +368,7 @@ horizontal_fill(
375
368
  }
376
369
  }
377
370
 
378
- (void) DestroyExceptionInfo(exception);
371
+ DestroyExceptionInfo(exception);
379
372
 
380
373
  xfree((void *) master);
381
374
  #endif
@@ -425,7 +418,7 @@ v_diagonal_fill(
425
418
 
426
419
  if (d1 < 0 && d2 < 0)
427
420
  {
428
- steps += FMAX(fabs(d1),fabs(d2));
421
+ steps += FMAX(fabs(d1), fabs(d2));
429
422
  }
430
423
  else if (d1 > (double)image->rows && d2 > (double)image->rows)
431
424
  {
@@ -458,7 +451,7 @@ v_diagonal_fill(
458
451
  #endif
459
452
 
460
453
  row_pixels = QueueAuthenticPixels(image, 0, y, image->columns, 1, exception);
461
- CHECK_EXCEPTION()
454
+ CHECK_EXCEPTION();
462
455
 
463
456
  for (x = 0; x < (ssize_t) image->columns; x++)
464
457
  {
@@ -479,10 +472,10 @@ v_diagonal_fill(
479
472
  }
480
473
 
481
474
  SyncAuthenticPixels(image, exception);
482
- CHECK_EXCEPTION()
475
+ CHECK_EXCEPTION();
483
476
  }
484
477
 
485
- (void) DestroyExceptionInfo(exception);
478
+ DestroyExceptionInfo(exception);
486
479
  }
487
480
 
488
481
  /**
@@ -531,11 +524,11 @@ h_diagonal_fill(
531
524
  // the number of steps.
532
525
  if (d1 < 0 && d2 < 0)
533
526
  {
534
- steps += FMAX(fabs(d1),fabs(d2));
527
+ steps += FMAX(fabs(d1), fabs(d2));
535
528
  }
536
529
  else if (d1 > (double)image->columns && d2 > (double)image->columns)
537
530
  {
538
- steps += FMAX(abs((int)(image->columns-d1)),abs((int)(image->columns-d2)));
531
+ steps += FMAX(abs((int)(image->columns-d1)), abs((int)(image->columns-d2)));
539
532
  }
540
533
 
541
534
  d1 = FMAX(d1, image->columns-d1);
@@ -564,7 +557,7 @@ h_diagonal_fill(
564
557
  #endif
565
558
 
566
559
  row_pixels = QueueAuthenticPixels(image, 0, y, image->columns, 1, exception);
567
- CHECK_EXCEPTION()
560
+ CHECK_EXCEPTION();
568
561
 
569
562
  for (x = 0; x < (ssize_t) image->columns; x++)
570
563
  {
@@ -585,22 +578,18 @@ h_diagonal_fill(
585
578
  }
586
579
 
587
580
  SyncAuthenticPixels(image, exception);
588
- CHECK_EXCEPTION()
581
+ CHECK_EXCEPTION();
589
582
  }
590
583
 
591
- (void) DestroyExceptionInfo(exception);
584
+ DestroyExceptionInfo(exception);
592
585
  }
593
586
 
594
587
  /**
595
588
  * Call GradientFill with the start and stop colors specified when this fill
596
589
  * object was created.
597
590
  *
598
- * Ruby usage:
599
- * - @verbatim GradientFill#fill(image) @endverbatim
600
- *
601
- * @param self this object
602
- * @param image_obj the image
603
- * @return self
591
+ * @param image_obj [Magick::Image] the image to fill
592
+ * @return [Magick::GradientFill] self
604
593
  */
605
594
  VALUE
606
595
  GradientFill_fill(VALUE self, VALUE image_obj)
@@ -678,44 +667,31 @@ free_TextureFill(void *fill_obj)
678
667
  rm_TextureFill *fill = (rm_TextureFill *)fill_obj;
679
668
 
680
669
  // Do not trace destruction
681
- (void) DestroyImage(fill->texture);
670
+ if (fill->texture)
671
+ {
672
+ DestroyImage(fill->texture);
673
+ }
682
674
  xfree(fill);
683
675
  }
684
676
 
685
677
  /**
686
678
  * Create new TextureFill object.
687
679
  *
688
- * No Ruby usage (internal function)
689
- *
690
- * Notes:
691
- * - The texture is an Image or Image *object
692
- *
693
- * @param class the Ruby class to use
694
- * @return a new TextureFill object
680
+ * @return [Magick::TextureFill] a new TextureFill object
695
681
  */
696
682
  VALUE
697
683
  TextureFill_alloc(VALUE class)
698
684
  {
699
685
  rm_TextureFill *fill;
700
- return Data_Make_Struct(class
701
- , rm_TextureFill
702
- , NULL
703
- , free_TextureFill
704
- , fill);
686
+ return Data_Make_Struct(class, rm_TextureFill, NULL, free_TextureFill, fill);
705
687
  }
706
688
 
707
689
  /**
708
- * Store the texture image.
690
+ * Initialize TextureFill object.
709
691
  *
710
- * Ruby usage:
711
- * - @verbatim TextureFill#initialize(texture) @endverbatim
712
- *
713
- * Notes:
714
- * - The texture is an Image or Image *object
715
- *
716
- * @param self this object
717
- * @param texture_arg the texture
718
- * @return self
692
+ * @param texture_arg [Magick::Image, Magick::ImageList] Either an imagelist or an image. If an
693
+ * imagelist, uses the current image.
694
+ * @return [Magick::TextureFill] self
719
695
  */
720
696
  VALUE
721
697
  TextureFill_initialize(VALUE self, VALUE texture_arg)
@@ -730,7 +706,7 @@ TextureFill_initialize(VALUE self, VALUE texture_arg)
730
706
 
731
707
  // Bump the reference count on the texture image.
732
708
  texture = rm_check_destroyed(texture_image);
733
- (void) ReferenceImage(texture);
709
+ ReferenceImage(texture);
734
710
 
735
711
  fill->texture = texture;
736
712
 
@@ -743,12 +719,8 @@ TextureFill_initialize(VALUE self, VALUE texture_arg)
743
719
  * Call TextureFill with the texture specified when this fill object was
744
720
  * created.
745
721
  *
746
- * Ruby usage:
747
- * - @verbatim TextureFill#fill(image) @endverbatim
748
- *
749
- * @param self this object
750
- * @param image_obj the image
751
- * @return self
722
+ * @param image_obj [Magick::Image] the image to fill
723
+ * @return [Magick::TextureFill] self
752
724
  */
753
725
  VALUE
754
726
  TextureFill_fill(VALUE self, VALUE image_obj)
@@ -764,11 +736,11 @@ TextureFill_fill(VALUE self, VALUE image_obj)
764
736
 
765
737
  #if defined(IMAGEMAGICK_7)
766
738
  exception = AcquireExceptionInfo();
767
- (void) TextureImage(image, fill->texture, exception);
768
- CHECK_EXCEPTION()
769
- (void) DestroyExceptionInfo(exception);
739
+ TextureImage(image, fill->texture, exception);
740
+ CHECK_EXCEPTION();
741
+ DestroyExceptionInfo(exception);
770
742
  #else
771
- (void) TextureImage(image, fill->texture);
743
+ TextureImage(image, fill->texture);
772
744
  rm_check_image_exception(image, RetainOnError);
773
745
  #endif
774
746