rmagick 4.1.0.rc2 → 4.1.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 (412) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.editorconfig +3 -0
  4. data/.github/workflows/ci.yml +148 -0
  5. data/.gitignore +3 -1
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +24 -0
  8. data/.rubocop_todo.yml +80 -270
  9. data/.yardopts +5 -0
  10. data/CHANGELOG.md +63 -0
  11. data/CONTRIBUTING.md +14 -10
  12. data/README.md +292 -0
  13. data/Rakefile +16 -22
  14. data/before_install_linux.sh +22 -32
  15. data/before_install_osx.sh +56 -2
  16. data/ext/RMagick/extconf.rb +100 -94
  17. data/ext/RMagick/rmagick.c +77 -104
  18. data/ext/RMagick/rmagick.h +74 -70
  19. data/ext/RMagick/rmdraw.c +261 -444
  20. data/ext/RMagick/rmenum.c +96 -113
  21. data/ext/RMagick/rmfill.c +46 -77
  22. data/ext/RMagick/rmilist.c +136 -244
  23. data/ext/RMagick/rmimage.c +3395 -4166
  24. data/ext/RMagick/rminfo.c +531 -737
  25. data/ext/RMagick/rmkinfo.c +21 -87
  26. data/ext/RMagick/rmmain.c +405 -245
  27. data/ext/RMagick/rmmontage.c +60 -126
  28. data/ext/RMagick/rmpixel.c +401 -345
  29. data/ext/RMagick/rmstruct.c +62 -88
  30. data/ext/RMagick/rmutil.c +112 -218
  31. data/lib/rmagick/version.rb +1 -1
  32. data/lib/rmagick_internal.rb +128 -77
  33. data/lib/rvg/clippath.rb +2 -1
  34. data/lib/rvg/container.rb +10 -5
  35. data/lib/rvg/describable.rb +1 -1
  36. data/lib/rvg/embellishable.rb +5 -4
  37. data/lib/rvg/misc.rb +15 -12
  38. data/lib/rvg/paint.rb +2 -1
  39. data/lib/rvg/pathdata.rb +12 -11
  40. data/lib/rvg/rvg.rb +8 -4
  41. data/lib/rvg/stylable.rb +9 -7
  42. data/lib/rvg/text.rb +11 -6
  43. data/lib/rvg/transformable.rb +3 -2
  44. data/lib/rvg/units.rb +1 -1
  45. data/rmagick.gemspec +7 -6
  46. metadata +31 -421
  47. data/.appveyor.yml +0 -57
  48. data/.circleci/config.yml +0 -56
  49. data/.ruby-version +0 -1
  50. data/.simplecov +0 -27
  51. data/.travis.yml +0 -64
  52. data/Doxyfile +0 -1514
  53. data/README.textile +0 -259
  54. data/benchmarks/memory/README.md +0 -50
  55. data/benchmarks/memory/image_new.rb +0 -8
  56. data/benchmarks/memory/rmagick.gnuplot +0 -16
  57. data/doc/.cvsignore +0 -1
  58. data/doc/comtasks.html +0 -287
  59. data/doc/constants.html +0 -1581
  60. data/doc/css/doc.css +0 -299
  61. data/doc/css/popup.css +0 -34
  62. data/doc/css/ref.css +0 -67
  63. data/doc/draw.html +0 -3272
  64. data/doc/ex/InitialCoords.rb +0 -22
  65. data/doc/ex/NewCoordSys.rb +0 -30
  66. data/doc/ex/OrigCoordSys.rb +0 -16
  67. data/doc/ex/PreserveAspectRatio.rb +0 -204
  68. data/doc/ex/RotateScale.rb +0 -36
  69. data/doc/ex/Skew.rb +0 -38
  70. data/doc/ex/Use01.rb +0 -15
  71. data/doc/ex/Use02.rb +0 -20
  72. data/doc/ex/Use03.rb +0 -16
  73. data/doc/ex/ViewBox.rb +0 -31
  74. data/doc/ex/adaptive_threshold.rb +0 -9
  75. data/doc/ex/add_noise.rb +0 -16
  76. data/doc/ex/affine.rb +0 -48
  77. data/doc/ex/affine_transform.rb +0 -20
  78. data/doc/ex/arc.rb +0 -49
  79. data/doc/ex/arcpath.rb +0 -32
  80. data/doc/ex/arcs01.rb +0 -28
  81. data/doc/ex/arcs02.rb +0 -59
  82. data/doc/ex/average.rb +0 -15
  83. data/doc/ex/axes.rb +0 -64
  84. data/doc/ex/baseline_shift01.rb +0 -17
  85. data/doc/ex/bilevel_channel.rb +0 -8
  86. data/doc/ex/blur_image.rb +0 -12
  87. data/doc/ex/border.rb +0 -10
  88. data/doc/ex/bounding_box.rb +0 -42
  89. data/doc/ex/cbezier1.rb +0 -41
  90. data/doc/ex/cbezier2.rb +0 -41
  91. data/doc/ex/cbezier3.rb +0 -41
  92. data/doc/ex/cbezier4.rb +0 -42
  93. data/doc/ex/cbezier5.rb +0 -42
  94. data/doc/ex/cbezier6.rb +0 -53
  95. data/doc/ex/channel.rb +0 -25
  96. data/doc/ex/charcoal.rb +0 -12
  97. data/doc/ex/chop.rb +0 -29
  98. data/doc/ex/circle.rb +0 -33
  99. data/doc/ex/circle01.rb +0 -16
  100. data/doc/ex/clip_path.rb +0 -60
  101. data/doc/ex/coalesce.rb +0 -57
  102. data/doc/ex/color_fill_to_border.rb +0 -29
  103. data/doc/ex/color_floodfill.rb +0 -28
  104. data/doc/ex/color_histogram.rb +0 -47
  105. data/doc/ex/color_reset.rb +0 -11
  106. data/doc/ex/colorize.rb +0 -16
  107. data/doc/ex/colors.rb +0 -64
  108. data/doc/ex/compose_mask.rb +0 -22
  109. data/doc/ex/composite.rb +0 -133
  110. data/doc/ex/composite_layers.rb +0 -52
  111. data/doc/ex/composite_tiled.rb +0 -21
  112. data/doc/ex/contrast.rb +0 -36
  113. data/doc/ex/crop.rb +0 -31
  114. data/doc/ex/crop_with_gravity.rb +0 -42
  115. data/doc/ex/cubic01.rb +0 -43
  116. data/doc/ex/cubic02.rb +0 -91
  117. data/doc/ex/cycle_colormap.rb +0 -21
  118. data/doc/ex/dissolve.rb +0 -12
  119. data/doc/ex/drawcomp.rb +0 -41
  120. data/doc/ex/drop_shadow.rb +0 -60
  121. data/doc/ex/edge.rb +0 -11
  122. data/doc/ex/ellipse.rb +0 -45
  123. data/doc/ex/ellipse01.rb +0 -21
  124. data/doc/ex/emboss.rb +0 -11
  125. data/doc/ex/enhance.rb +0 -28
  126. data/doc/ex/equalize.rb +0 -11
  127. data/doc/ex/evenodd.rb +0 -42
  128. data/doc/ex/fill_pattern.rb +0 -23
  129. data/doc/ex/flatten_images.rb +0 -36
  130. data/doc/ex/flip.rb +0 -11
  131. data/doc/ex/flop.rb +0 -11
  132. data/doc/ex/font_styles.rb +0 -32
  133. data/doc/ex/fonts.rb +0 -16
  134. data/doc/ex/frame.rb +0 -12
  135. data/doc/ex/gaussian_blur.rb +0 -11
  136. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  137. data/doc/ex/get_pixels.rb +0 -45
  138. data/doc/ex/get_type_metrics.rb +0 -142
  139. data/doc/ex/gradientfill.rb +0 -27
  140. data/doc/ex/grav.rb +0 -45
  141. data/doc/ex/gravity.rb +0 -78
  142. data/doc/ex/group.rb +0 -26
  143. data/doc/ex/hatchfill.rb +0 -27
  144. data/doc/ex/image.rb +0 -44
  145. data/doc/ex/images/Apple.miff +0 -0
  146. data/doc/ex/images/Ballerina.jpg +0 -0
  147. data/doc/ex/images/Ballerina3.jpg +0 -0
  148. data/doc/ex/images/Button_0.gif +0 -0
  149. data/doc/ex/images/Button_1.gif +0 -0
  150. data/doc/ex/images/Button_2.gif +0 -0
  151. data/doc/ex/images/Button_3.gif +0 -0
  152. data/doc/ex/images/Button_4.gif +0 -0
  153. data/doc/ex/images/Button_5.gif +0 -0
  154. data/doc/ex/images/Button_6.gif +0 -0
  155. data/doc/ex/images/Button_7.gif +0 -0
  156. data/doc/ex/images/Button_8.gif +0 -0
  157. data/doc/ex/images/Button_9.gif +0 -0
  158. data/doc/ex/images/Button_A.gif +0 -0
  159. data/doc/ex/images/Button_B.gif +0 -0
  160. data/doc/ex/images/Button_C.gif +0 -0
  161. data/doc/ex/images/Button_D.gif +0 -0
  162. data/doc/ex/images/Button_E.gif +0 -0
  163. data/doc/ex/images/Button_F.gif +0 -0
  164. data/doc/ex/images/Button_G.gif +0 -0
  165. data/doc/ex/images/Button_H.gif +0 -0
  166. data/doc/ex/images/Button_I.gif +0 -0
  167. data/doc/ex/images/Button_J.gif +0 -0
  168. data/doc/ex/images/Button_K.gif +0 -0
  169. data/doc/ex/images/Button_L.gif +0 -0
  170. data/doc/ex/images/Button_M.gif +0 -0
  171. data/doc/ex/images/Button_N.gif +0 -0
  172. data/doc/ex/images/Button_O.gif +0 -0
  173. data/doc/ex/images/Button_P.gif +0 -0
  174. data/doc/ex/images/Button_Q.gif +0 -0
  175. data/doc/ex/images/Button_R.gif +0 -0
  176. data/doc/ex/images/Button_S.gif +0 -0
  177. data/doc/ex/images/Button_T.gif +0 -0
  178. data/doc/ex/images/Button_U.gif +0 -0
  179. data/doc/ex/images/Button_V.gif +0 -0
  180. data/doc/ex/images/Button_W.gif +0 -0
  181. data/doc/ex/images/Button_X.gif +0 -0
  182. data/doc/ex/images/Button_Y.gif +0 -0
  183. data/doc/ex/images/Button_Z.gif +0 -0
  184. data/doc/ex/images/Cheetah.jpg +0 -0
  185. data/doc/ex/images/Coffee.png +0 -0
  186. data/doc/ex/images/Flower_Hat.jpg +0 -0
  187. data/doc/ex/images/Gold_Statue.jpg +0 -0
  188. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  189. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  190. data/doc/ex/images/Leaf.miff +0 -0
  191. data/doc/ex/images/No.png +0 -0
  192. data/doc/ex/images/Polynesia.jpg +0 -0
  193. data/doc/ex/images/Red_Rocks.jpg +0 -0
  194. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  195. data/doc/ex/images/Shorts.jpg +0 -0
  196. data/doc/ex/images/Snake.png +0 -0
  197. data/doc/ex/images/Violin.jpg +0 -0
  198. data/doc/ex/images/Yellow_Rose.miff +0 -0
  199. data/doc/ex/images/big-duck.gif +0 -0
  200. data/doc/ex/images/duck.gif +0 -0
  201. data/doc/ex/images/duck0.gif +0 -0
  202. data/doc/ex/images/duck1.gif +0 -0
  203. data/doc/ex/images/duck10.gif +0 -0
  204. data/doc/ex/images/duck11.gif +0 -0
  205. data/doc/ex/images/duck12.gif +0 -0
  206. data/doc/ex/images/duck13.gif +0 -0
  207. data/doc/ex/images/duck14.gif +0 -0
  208. data/doc/ex/images/duck15.gif +0 -0
  209. data/doc/ex/images/duck2.gif +0 -0
  210. data/doc/ex/images/duck3.gif +0 -0
  211. data/doc/ex/images/duck4.gif +0 -0
  212. data/doc/ex/images/duck5.gif +0 -0
  213. data/doc/ex/images/duck6.gif +0 -0
  214. data/doc/ex/images/duck7.gif +0 -0
  215. data/doc/ex/images/duck8.gif +0 -0
  216. data/doc/ex/images/duck9.gif +0 -0
  217. data/doc/ex/images/graydient230x6.gif +0 -0
  218. data/doc/ex/images/image_with_profile.jpg +0 -0
  219. data/doc/ex/images/logo400x83.gif +0 -0
  220. data/doc/ex/images/model.miff +0 -0
  221. data/doc/ex/images/notimplemented.gif +0 -0
  222. data/doc/ex/images/smile.miff +0 -0
  223. data/doc/ex/images/spin.gif +0 -0
  224. data/doc/ex/implode.rb +0 -34
  225. data/doc/ex/level.rb +0 -11
  226. data/doc/ex/level_colors.rb +0 -11
  227. data/doc/ex/line.rb +0 -41
  228. data/doc/ex/line01.rb +0 -21
  229. data/doc/ex/mask.rb +0 -35
  230. data/doc/ex/matte_fill_to_border.rb +0 -39
  231. data/doc/ex/matte_floodfill.rb +0 -32
  232. data/doc/ex/matte_replace.rb +0 -39
  233. data/doc/ex/median_filter.rb +0 -28
  234. data/doc/ex/modulate.rb +0 -11
  235. data/doc/ex/mono.rb +0 -23
  236. data/doc/ex/morph.rb +0 -25
  237. data/doc/ex/mosaic.rb +0 -37
  238. data/doc/ex/motion_blur.rb +0 -11
  239. data/doc/ex/negate.rb +0 -11
  240. data/doc/ex/negate_channel.rb +0 -9
  241. data/doc/ex/nested_rvg.rb +0 -21
  242. data/doc/ex/nonzero.rb +0 -42
  243. data/doc/ex/normalize.rb +0 -11
  244. data/doc/ex/oil_paint.rb +0 -11
  245. data/doc/ex/opacity.rb +0 -37
  246. data/doc/ex/ordered_dither.rb +0 -11
  247. data/doc/ex/path.rb +0 -63
  248. data/doc/ex/pattern1.rb +0 -25
  249. data/doc/ex/pattern2.rb +0 -26
  250. data/doc/ex/polaroid.rb +0 -26
  251. data/doc/ex/polygon.rb +0 -23
  252. data/doc/ex/polygon01.rb +0 -21
  253. data/doc/ex/polyline.rb +0 -22
  254. data/doc/ex/polyline01.rb +0 -21
  255. data/doc/ex/posterize.rb +0 -8
  256. data/doc/ex/preview.rb +0 -8
  257. data/doc/ex/qbezierpath.rb +0 -52
  258. data/doc/ex/quad01.rb +0 -34
  259. data/doc/ex/quantize-m.rb +0 -25
  260. data/doc/ex/radial_blur.rb +0 -9
  261. data/doc/ex/raise.rb +0 -8
  262. data/doc/ex/random_threshold_channel.rb +0 -13
  263. data/doc/ex/rect01.rb +0 -14
  264. data/doc/ex/rect02.rb +0 -20
  265. data/doc/ex/rectangle.rb +0 -34
  266. data/doc/ex/reduce_noise.rb +0 -28
  267. data/doc/ex/remap.rb +0 -11
  268. data/doc/ex/remap_images.rb +0 -19
  269. data/doc/ex/resize_to_fill.rb +0 -8
  270. data/doc/ex/resize_to_fit.rb +0 -8
  271. data/doc/ex/roll.rb +0 -9
  272. data/doc/ex/rotate.rb +0 -44
  273. data/doc/ex/rotate_f.rb +0 -14
  274. data/doc/ex/roundrect.rb +0 -33
  275. data/doc/ex/rubyname.rb +0 -30
  276. data/doc/ex/rvg_clippath.rb +0 -12
  277. data/doc/ex/rvg_linecap.rb +0 -42
  278. data/doc/ex/rvg_linejoin.rb +0 -40
  279. data/doc/ex/rvg_opacity.rb +0 -18
  280. data/doc/ex/rvg_pattern.rb +0 -26
  281. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  282. data/doc/ex/segment.rb +0 -11
  283. data/doc/ex/sepiatone.rb +0 -7
  284. data/doc/ex/shade.rb +0 -11
  285. data/doc/ex/shadow.rb +0 -30
  286. data/doc/ex/shave.rb +0 -15
  287. data/doc/ex/shear.rb +0 -10
  288. data/doc/ex/sketch.rb +0 -17
  289. data/doc/ex/skewx.rb +0 -51
  290. data/doc/ex/skewy.rb +0 -47
  291. data/doc/ex/smile.rb +0 -126
  292. data/doc/ex/solarize.rb +0 -11
  293. data/doc/ex/sparse_color.rb +0 -55
  294. data/doc/ex/splice.rb +0 -8
  295. data/doc/ex/spread.rb +0 -11
  296. data/doc/ex/stegano.rb +0 -54
  297. data/doc/ex/stroke_dasharray.rb +0 -42
  298. data/doc/ex/stroke_fill.rb +0 -10
  299. data/doc/ex/stroke_linecap.rb +0 -44
  300. data/doc/ex/stroke_linejoin.rb +0 -48
  301. data/doc/ex/stroke_width.rb +0 -49
  302. data/doc/ex/swirl.rb +0 -17
  303. data/doc/ex/text.rb +0 -37
  304. data/doc/ex/text01.rb +0 -16
  305. data/doc/ex/text_align.rb +0 -36
  306. data/doc/ex/text_antialias.rb +0 -37
  307. data/doc/ex/text_styles.rb +0 -19
  308. data/doc/ex/text_undercolor.rb +0 -28
  309. data/doc/ex/texture_fill_to_border.rb +0 -34
  310. data/doc/ex/texture_floodfill.rb +0 -32
  311. data/doc/ex/texturefill.rb +0 -24
  312. data/doc/ex/threshold.rb +0 -13
  313. data/doc/ex/to_blob.rb +0 -13
  314. data/doc/ex/translate.rb +0 -39
  315. data/doc/ex/transparent.rb +0 -38
  316. data/doc/ex/transpose.rb +0 -9
  317. data/doc/ex/transverse.rb +0 -9
  318. data/doc/ex/tref01.rb +0 -24
  319. data/doc/ex/triangle01.rb +0 -15
  320. data/doc/ex/trim.rb +0 -23
  321. data/doc/ex/tspan01.rb +0 -17
  322. data/doc/ex/tspan02.rb +0 -17
  323. data/doc/ex/tspan03.rb +0 -19
  324. data/doc/ex/unsharp_mask.rb +0 -28
  325. data/doc/ex/viewex.rb +0 -33
  326. data/doc/ex/vignette.rb +0 -12
  327. data/doc/ex/watermark.rb +0 -27
  328. data/doc/ex/wave.rb +0 -9
  329. data/doc/ex/wet_floor.rb +0 -58
  330. data/doc/ex/writing_mode01.rb +0 -26
  331. data/doc/ex/writing_mode02.rb +0 -26
  332. data/doc/ilist.html +0 -2056
  333. data/doc/image1.html +0 -4680
  334. data/doc/image2.html +0 -3665
  335. data/doc/image3.html +0 -4522
  336. data/doc/imageattrs.html +0 -1638
  337. data/doc/imusage.html +0 -514
  338. data/doc/index.html +0 -416
  339. data/doc/info.html +0 -1499
  340. data/doc/magick.html +0 -570
  341. data/doc/optequiv.html +0 -2435
  342. data/doc/rvg.html +0 -975
  343. data/doc/rvgclip.html +0 -248
  344. data/doc/rvggroup.html +0 -305
  345. data/doc/rvgimage.html +0 -289
  346. data/doc/rvgpattern.html +0 -475
  347. data/doc/rvgshape.html +0 -406
  348. data/doc/rvgstyle.html +0 -270
  349. data/doc/rvgtext.html +0 -465
  350. data/doc/rvgtspan.html +0 -238
  351. data/doc/rvgtut.html +0 -530
  352. data/doc/rvguse.html +0 -145
  353. data/doc/rvgxform.html +0 -294
  354. data/doc/scripts/doc.js +0 -22
  355. data/doc/scripts/stripeTables.js +0 -23
  356. data/doc/struct.html +0 -1339
  357. data/doc/usage.html +0 -1621
  358. data/examples/constitute.rb +0 -7
  359. data/examples/crop_with_gravity.rb +0 -43
  360. data/examples/demo.rb +0 -323
  361. data/examples/describe.rb +0 -41
  362. data/examples/find_similar_region.rb +0 -34
  363. data/examples/histogram.rb +0 -312
  364. data/examples/identify.rb +0 -174
  365. data/examples/image_opacity.rb +0 -28
  366. data/examples/import_export.rb +0 -31
  367. data/examples/pattern_fill.rb +0 -37
  368. data/examples/rotating_text.rb +0 -45
  369. data/examples/spinner.rb +0 -49
  370. data/examples/thumbnail.rb +0 -64
  371. data/examples/vignette.rb +0 -78
  372. data/spec/rmagick/ImageList1_spec.rb +0 -24
  373. data/spec/rmagick/draw_spec.rb +0 -155
  374. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  375. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  376. data/spec/rmagick/image/composite_spec.rb +0 -72
  377. data/spec/rmagick/image/constitute_spec.rb +0 -13
  378. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  379. data/spec/rmagick/image/dissolve_spec.rb +0 -54
  380. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  381. data/spec/rmagick/image/ping_spec.rb +0 -12
  382. data/spec/rmagick/image/properties_spec.rb +0 -27
  383. data/spec/rmagick/image/read_spec.rb +0 -28
  384. data/spec/spec_helper.rb +0 -9
  385. data/spec/support/issue_200/app.rb +0 -8
  386. data/test/Draw.rb +0 -351
  387. data/test/Enum.rb +0 -228
  388. data/test/Fill.rb +0 -93
  389. data/test/Image1.rb +0 -606
  390. data/test/Image2.rb +0 -1408
  391. data/test/Image3.rb +0 -1086
  392. data/test/ImageList1.rb +0 -858
  393. data/test/ImageList2.rb +0 -375
  394. data/test/Image_attributes.rb +0 -635
  395. data/test/Import_Export.rb +0 -111
  396. data/test/Info.rb +0 -436
  397. data/test/KernelInfo.rb +0 -59
  398. data/test/Magick.rb +0 -311
  399. data/test/Pixel.rb +0 -259
  400. data/test/PolaroidOptions.rb +0 -23
  401. data/test/Preview.rb +0 -26
  402. data/test/Struct.rb +0 -45
  403. data/test/appearance/Montage.rb +0 -26
  404. data/test/appearance/appearance_assertion.rb +0 -13
  405. data/test/appearance/expected/montage_border_color.jpg +0 -0
  406. data/test/cmyk.icm +0 -0
  407. data/test/lib/internal/Draw.rb +0 -811
  408. data/test/lib/internal/Geometry.rb +0 -98
  409. data/test/lib/internal/Magick.rb +0 -40
  410. data/test/srgb.icm +0 -0
  411. data/test/test_all_basic.rb +0 -49
  412. data/test/tmpnam_test.rb +0 -50
@@ -30,7 +30,8 @@ module Magick
30
30
  yield(self) if block_given?
31
31
  end
32
32
 
33
- def add_primitives(gc, _style) #:nodoc:
33
+ # @private
34
+ def add_primitives(gc, _style)
34
35
  name = __id__.to_s
35
36
  gc.define_clip_path(name) do
36
37
  gc.clip_units(@clip_path_units)
@@ -6,7 +6,8 @@ module Magick
6
6
  class RVG
7
7
  # Content is simply an Array with a deep_copy method.
8
8
  # When unit-testing, it also has a deep_equal method.
9
- class Content < Array #:nodoc:
9
+ # @private
10
+ class Content < Array
10
11
  def deep_copy(h = {})
11
12
  me = __id__
12
13
  copy = h[me]
@@ -64,7 +65,8 @@ module Magick
64
65
  yield(self) if block_given?
65
66
  end
66
67
 
67
- def add_primitives(gc) #:nodoc:
68
+ # @private
69
+ def add_primitives(gc)
68
70
  gc.push
69
71
  add_transform_primitives(gc)
70
72
  add_style_primitives(gc)
@@ -73,13 +75,15 @@ module Magick
73
75
  end
74
76
 
75
77
  # Translate container according to #use arguments
76
- def ref(x, y, _width, _height) #:nodoc:
78
+ # @private
79
+ def ref(x, y, _width, _height)
77
80
  translate(x, y) if x != 0 || y != 0
78
81
  end
79
82
 
80
83
  # Append an arbitrary object to the group's content. Called
81
84
  # by #use to insert a non-container object into a group.
82
- def <<(obj) #:nodoc:
85
+ # @private
86
+ def <<(obj)
83
87
  @content << obj
84
88
  end
85
89
  end # class Group
@@ -113,7 +117,8 @@ module Magick
113
117
  @element.ref(x, y, width, height)
114
118
  end
115
119
 
116
- def add_primitives(gc) #:nodoc:
120
+ # @private
121
+ def add_primitives(gc)
117
122
  gc.push
118
123
  add_transform_primitives(gc)
119
124
  add_style_primitives(gc)
@@ -11,7 +11,7 @@ module Magick
11
11
  module Describable
12
12
  private
13
13
 
14
- def initialize(*args, &block) #:nodoc:
14
+ def initialize(*args, &block)
15
15
  super
16
16
  @title, @desc, @metadata = nil
17
17
  end
@@ -5,7 +5,8 @@
5
5
  module Magick
6
6
  class RVG
7
7
  # Parent class of Circle, Ellipse, Text, etc.
8
- class Shape #:nodoc:
8
+ # @private
9
+ class Shape
9
10
  include Stylable
10
11
  include Transformable
11
12
  include Duplicatable
@@ -30,7 +31,6 @@ module Magick
30
31
 
31
32
  @primitive = :circle
32
33
  @args = [cx, cy, cx + r, cy]
33
- self
34
34
  end
35
35
  end # class Circle
36
36
 
@@ -222,7 +222,8 @@ module Magick
222
222
  init_viewbox
223
223
  end
224
224
 
225
- def add_primitives(gc) #:nodoc:
225
+ # @private
226
+ def add_primitives(gc)
226
227
  # Do not render if width or height is 0
227
228
  return if @width.zero? || @height.zero?
228
229
 
@@ -332,7 +333,7 @@ module Magick
332
333
  y = Float(y)
333
334
  rescue ArgumentError
334
335
  args = [cols, rows, x, y]
335
- raise ArgumentError, "at least one argument is not convertable to Float (got #{args.collect(&:class).join(', ')})"
336
+ raise ArgumentError, "at least one argument is not convertable to Float (got #{args.map(&:class).join(', ')})"
336
337
  end
337
338
  rvg.corner(x, y)
338
339
  @content << rvg
@@ -34,7 +34,7 @@ module Magick
34
34
  # Convert an array of method arguments to Float objects. If any
35
35
  # cannot be converted, raise ArgumentError and issue a message.
36
36
  def self.fmsg(*args)
37
- "at least one argument cannot be converted to Float (got #{args.collect(&:class).join(', ')})"
37
+ "at least one argument cannot be converted to Float (got #{args.map(&:class).join(', ')})"
38
38
  end
39
39
 
40
40
  def self.convert_to_float(*args)
@@ -44,7 +44,7 @@ module Magick
44
44
  args.pop
45
45
  end
46
46
  begin
47
- fargs = args.collect { |a| allow_nil && a.nil? ? a : Float(a) }
47
+ fargs = args.map { |a| allow_nil && a.nil? ? a : Float(a) }
48
48
  rescue ArgumentError, TypeError
49
49
  raise ArgumentError, fmsg(*args)
50
50
  end
@@ -173,7 +173,7 @@ module Magick
173
173
 
174
174
  def render(x, y, text)
175
175
  x_rel_coords, y_rel_coords = text_rel_coords(text)
176
- dx = x_rel_coords.inject(0) { |sum, a| sum + a }
176
+ dx = x_rel_coords.reduce(0) { |sum, a| sum + a }
177
177
  dy = y_rel_coords.max
178
178
 
179
179
  # We're handling the anchoring.
@@ -234,7 +234,7 @@ module Magick
234
234
  def render(x, y, text)
235
235
  x_rel_coords, y_rel_coords = text_rel_coords(text)
236
236
  dx = x_rel_coords.max
237
- dy = y_rel_coords.inject(0) { |sum, a| sum + a }
237
+ dy = y_rel_coords.reduce(0) { |sum, a| sum + a }
238
238
 
239
239
  # We're handling the anchoring.
240
240
  @ctx.gc.push
@@ -478,9 +478,12 @@ module Magick
478
478
  }
479
479
 
480
480
  TEXT_STRATEGIES = {
481
- 'lr-tb' => LRTextStrategy, 'lr' => LRTextStrategy,
482
- 'rt-tb' => RLTextStrategy, 'rl' => RLTextStrategy,
483
- 'tb-rl' => TBTextStrategy, 'tb' => TBTextStrategy
481
+ 'lr-tb' => LRTextStrategy,
482
+ 'lr' => LRTextStrategy,
483
+ 'rt-tb' => RLTextStrategy,
484
+ 'rl' => RLTextStrategy,
485
+ 'tb-rl' => TBTextStrategy,
486
+ 'tb' => TBTextStrategy
484
487
  }
485
488
 
486
489
  def self.degrees_to_radians(deg)
@@ -533,7 +536,7 @@ module Magick
533
536
  def baseline_shift(value)
534
537
  @text_attrs.baseline_shift = case value
535
538
  when 'baseline', 'sub', 'super'
536
- value.intern
539
+ value.to_sym
537
540
  when /[-+]?\d+%/, Numeric
538
541
  value
539
542
  else
@@ -561,14 +564,14 @@ module Magick
561
564
  end
562
565
 
563
566
  def font_stretch(stretch)
564
- stretch = FONT_STRETCH.fetch(stretch.intern, Magick::NormalStretch)
567
+ stretch = FONT_STRETCH.fetch(stretch.to_sym, Magick::NormalStretch)
565
568
  @gc.font_stretch(stretch)
566
569
  @shadow[-1].font_stretch = stretch
567
570
  nil
568
571
  end
569
572
 
570
573
  def font_style(style)
571
- style = FONT_STYLE.fetch(style.intern, Magick::NormalStyle)
574
+ style = FONT_STYLE.fetch(style.to_sym, Magick::NormalStyle)
572
575
  @gc.font_style(style)
573
576
  @shadow[-1].font_style = style
574
577
  nil
@@ -677,7 +680,7 @@ module Magick
677
680
  end
678
681
 
679
682
  def text_anchor(anchor)
680
- anchor = anchor.intern
683
+ anchor = anchor.to_sym
681
684
  anchor_enum = TEXT_ANCHOR.fetch(anchor, Magick::StartAnchor)
682
685
  @gc.text_anchor(anchor_enum)
683
686
  align = ANCHOR_TO_ALIGN.fetch(anchor, Magick::LeftAlign)
@@ -687,7 +690,7 @@ module Magick
687
690
  end
688
691
 
689
692
  def text_decoration(decoration)
690
- decoration = TEXT_DECORATION.fetch(decoration.intern, Magick::NoDecoration)
693
+ decoration = TEXT_DECORATION.fetch(decoration.to_sym, Magick::NoDecoration)
691
694
  @gc.decorate(decoration)
692
695
  @shadow[-1].decorate = decoration
693
696
  nil
@@ -37,7 +37,8 @@ module Magick
37
37
  yield(self) if block_given?
38
38
  end
39
39
 
40
- def add_primitives(gc, style) #:nodoc:
40
+ # @private
41
+ def add_primitives(gc, style)
41
42
  name = __id__.to_s
42
43
  gc.pattern(name, @x, @y, @width, @height) do
43
44
  add_viewbox_primitives(@width, @height, gc)
@@ -15,7 +15,7 @@ module Magick
15
15
  return unless coords
16
16
  raise ArgumentError, "wrong number of coordinates specified. A multiple of #{req} required, #{req + coords.length} given." if coords.length % req != 0
17
17
 
18
- coords.each { |c| @path << format('%g', c) }
18
+ coords.each { |c| @path << sprintf('%g', c) }
19
19
  end
20
20
 
21
21
  public
@@ -30,7 +30,8 @@ module Magick
30
30
  @path
31
31
  end
32
32
 
33
- def deep_copy(_h = nil) #:nodoc:
33
+ # @private
34
+ def deep_copy(_h = nil)
34
35
  @path.dup
35
36
  end
36
37
 
@@ -38,7 +39,7 @@ module Magick
38
39
  # <tt>true</tt> the coordinates are absolute, otherwise
39
40
  # the coordinates are relative.
40
41
  def moveto(abs, x, y, *coords)
41
- @path << format('%s%g,%g ', (abs ? 'M' : 'm'), x, y)
42
+ @path << sprintf('%s%g,%g ', (abs ? 'M' : 'm'), x, y)
42
43
  # "subsequent pairs are treated as implicit lineto commands"
43
44
  add_points(2, *coords)
44
45
  end
@@ -54,7 +55,7 @@ module Magick
54
55
  # <tt>true</tt> the coordinates are absolute, otherwise
55
56
  # the coordinates are relative.
56
57
  def lineto(abs, x, y, *coords)
57
- @path << format('%s%g,%g ', (abs ? 'L' : 'l'), x, y)
58
+ @path << sprintf('%s%g,%g ', (abs ? 'L' : 'l'), x, y)
58
59
  # "a number of coordinate pairs may be specified to draw a polyline"
59
60
  add_points(2, *coords)
60
61
  end
@@ -63,14 +64,14 @@ module Magick
63
64
  # <tt>true</tt> the coordinates are absolute, otherwise
64
65
  # the coordinates are relative.
65
66
  def hlineto(abs, x)
66
- @path << format('%s%g ', (abs ? 'H' : 'h'), x)
67
+ @path << sprintf('%s%g ', (abs ? 'H' : 'h'), x)
67
68
  end
68
69
 
69
70
  # Add a <tt>vertical lineto</tt> command. If <tt>abs</tt> is
70
71
  # <tt>true</tt> the coordinates are absolute, otherwise
71
72
  # the coordinates are relative.
72
73
  def vlineto(abs, y)
73
- @path << format('%s%g ', (abs ? 'V' : 'v'), y)
74
+ @path << sprintf('%s%g ', (abs ? 'V' : 'v'), y)
74
75
  end
75
76
 
76
77
  # Add a <tt>curveto</tt> (<em>cubic Bezier</em>) command.
@@ -78,7 +79,7 @@ module Magick
78
79
  # <tt>true</tt> the coordinates are absolute, otherwise
79
80
  # the coordinates are relative.
80
81
  def curveto(abs, x1, y1, x2, y2, x, y, *coords)
81
- @path << format('%s%g,%g %g,%g %g,%g ', (abs ? 'C' : 'c'), x1, y1, x2, y2, x, y)
82
+ @path << sprintf('%s%g,%g %g,%g %g,%g ', (abs ? 'C' : 'c'), x1, y1, x2, y2, x, y)
82
83
  # "multiple sets of coordinates may be specified to draw a polybezier"
83
84
  add_points(6, *coords)
84
85
  end
@@ -88,7 +89,7 @@ module Magick
88
89
  # <tt>true</tt> the coordinates are absolute, otherwise
89
90
  # the coordinates are relative.
90
91
  def smooth_curveto(abs, x2, y2, x, y, *coords)
91
- @path << format('%s%g,%g %g,%g ', (abs ? 'S' : 's'), x2, y2, x, y)
92
+ @path << sprintf('%s%g,%g %g,%g ', (abs ? 'S' : 's'), x2, y2, x, y)
92
93
  # "multiple sets of coordinates may be specified to draw a polybezier"
93
94
  add_points(4, *coords)
94
95
  end
@@ -98,7 +99,7 @@ module Magick
98
99
  # <tt>true</tt> the coordinates are absolute, otherwise
99
100
  # the coordinates are relative.
100
101
  def quadratic_curveto(abs, x1, y1, x, y, *coords)
101
- @path << format('%s%g,%g %g,%g ', (abs ? 'Q' : 'q'), x1, y1, x, y)
102
+ @path << sprintf('%s%g,%g %g,%g ', (abs ? 'Q' : 'q'), x1, y1, x, y)
102
103
  add_points(4, *coords)
103
104
  end
104
105
 
@@ -107,7 +108,7 @@ module Magick
107
108
  # <tt>true</tt> the coordinates are absolute, otherwise
108
109
  # the coordinates are relative.
109
110
  def smooth_quadratic_curveto(abs, x, y, *coords)
110
- @path << format('%s%g,%g ', (abs ? 'T' : 't'), x, y)
111
+ @path << sprintf('%s%g,%g ', (abs ? 'T' : 't'), x, y)
111
112
  add_points(2, *coords)
112
113
  end
113
114
 
@@ -117,7 +118,7 @@ module Magick
117
118
  # the coordinates are relative.
118
119
 
119
120
  def arc(abs, rx, ry, x_axis_rotation, large_arc_flag, sweep_flag, x, y)
120
- @path << format('%s%g,%g %g %d %d %g,%g ', (abs ? 'A' : 'a'), rx, ry, x_axis_rotation, large_arc_flag, sweep_flag, x, y)
121
+ @path << sprintf('%s%g,%g %g %d %d %g,%g ', (abs ? 'A' : 'a'), rx, ry, x_axis_rotation, large_arc_flag, sweep_flag, x, y)
121
122
  end
122
123
  end # class PathData
123
124
  end # class RVG
@@ -242,14 +242,16 @@ module Magick
242
242
 
243
243
  # Accept #use arguments. Use (x,y) to generate an additional translate.
244
244
  # Override @width and @height if new values are supplied.
245
- def ref(x, y, rw, rh) #:nodoc:
245
+ # @private
246
+ def ref(x, y, rw, rh)
246
247
  translate(x, y) if x != 0 || y != 0
247
248
  @width = rw if rw
248
249
  @height = rh if rh
249
250
  end
250
251
 
251
252
  # Used by Magick::Embellishable.rvg to set non-0 x- and y-coordinates
252
- def corner(x, y) #:nodoc:
253
+ # @private
254
+ def corner(x, y)
253
255
  @nested = true
254
256
  @x = Float(x)
255
257
  @y = Float(y)
@@ -257,7 +259,8 @@ module Magick
257
259
  end
258
260
 
259
261
  # Primitives for the outermost RVG object
260
- def add_outermost_primitives(gc) #:nodoc:
262
+ # @private
263
+ def add_outermost_primitives(gc)
261
264
  add_transform_primitives(gc)
262
265
  gc.push
263
266
  add_viewbox_primitives(@width, @height, gc)
@@ -268,7 +271,8 @@ module Magick
268
271
  end
269
272
 
270
273
  # Primitives for nested RVG objects
271
- def add_primitives(gc) #:nodoc:
274
+ # @private
275
+ def add_primitives(gc)
272
276
  raise ArgumentError, 'RVG width or height undefined' if @width.nil? || @height.nil?
273
277
  return self if @width.zero? || @height.zero?
274
278
 
@@ -5,13 +5,15 @@
5
5
  module Magick
6
6
  class RVG
7
7
  #:stopdoc:
8
- STYLES = %i[clip_path clip_rule fill fill_opacity fill_rule font
9
- font_family font_size font_stretch font_style font_weight
10
- opacity stroke stroke_dasharray stroke_dashoffset stroke_linecap
11
- stroke_linejoin stroke_miterlimit stroke_opacity stroke_width
12
- text_anchor text_decoration
13
- glyph_orientation_vertical glyph_orientation_horizontal
14
- letter_spacing word_spacing baseline_shift writing_mode]
8
+ STYLES = %i[
9
+ clip_path clip_rule fill fill_opacity fill_rule font
10
+ font_family font_size font_stretch font_style font_weight
11
+ opacity stroke stroke_dasharray stroke_dashoffset stroke_linecap
12
+ stroke_linejoin stroke_miterlimit stroke_opacity stroke_width
13
+ text_anchor text_decoration
14
+ glyph_orientation_vertical glyph_orientation_horizontal
15
+ letter_spacing word_spacing baseline_shift writing_mode
16
+ ]
15
17
 
16
18
  Styles = Struct.new(*STYLES)
17
19
 
@@ -12,7 +12,7 @@ module Magick
12
12
 
13
13
  private
14
14
 
15
- def initialize(text) #:nodoc:
15
+ def initialize(text)
16
16
  super()
17
17
  @text = text.to_s if text
18
18
  @dx = @dy = 0
@@ -48,7 +48,8 @@ module Magick
48
48
  end
49
49
 
50
50
  # We do our own transformations.
51
- def add_primitives(gc) #:nodoc:
51
+ # @private
52
+ def add_primitives(gc)
52
53
  return if !@text && @tspans.empty?
53
54
 
54
55
  gc.push
@@ -73,7 +74,8 @@ module Magick
73
74
  end # class TextBase
74
75
 
75
76
  # Tspan and Tref shared methods - read/update @cx, @cy in parent Text object.
76
- module TextLink #:nodoc:
77
+ # @private
78
+ module TextLink
77
79
  def add_primitives(gc)
78
80
  @parent.cx = @x if @x
79
81
  @parent.cy = @y if @y
@@ -97,7 +99,8 @@ module Magick
97
99
  end
98
100
  end # module TextLink
99
101
 
100
- class Tref < TextBase #:nodoc:
102
+ # @private
103
+ class Tref < TextBase
101
104
  include TextLink
102
105
 
103
106
  def initialize(obj, x, y, parent)
@@ -108,7 +111,8 @@ module Magick
108
111
  end
109
112
  end # class Tref
110
113
 
111
- class Tspan < TextBase #:nodoc:
114
+ # @private
115
+ class Tspan < TextBase
112
116
  include TextLink
113
117
 
114
118
  attr_accessor :parent
@@ -125,7 +129,8 @@ module Magick
125
129
  end # class Tspan
126
130
 
127
131
  class Text < TextBase
128
- attr_accessor :cx, :cy #:nodoc:
132
+ # @private
133
+ attr_accessor :cx, :cy
129
134
 
130
135
  # Define a text string starting at [<tt>x</tt>, <tt>y</tt>].
131
136
  # Use the RVG::TextConstructors#text method to create Text objects in a container.
@@ -6,7 +6,8 @@ module Magick
6
6
  class RVG
7
7
  # Transforms is an Array with a deep_copy method.
8
8
  # During unit-testing it also has a deep_equal method.
9
- class Transforms < Array #:nodoc:
9
+ # @private
10
+ class Transforms < Array
10
11
  def deep_copy(_h = nil)
11
12
  copy = self.class.new
12
13
  each { |transform| copy << [transform[0], transform[1].dup] }
@@ -94,7 +95,7 @@ module Magick
94
95
  raise ArgumentError, "wrong number of arguments (#{args.length} for 1 or 3)"
95
96
  end
96
97
  rescue ArgumentError
97
- raise ArgumentError, "arguments must be convertable to float (got #{[angle, *args].collect(&:class).join(', ')})"
98
+ raise ArgumentError, "arguments must be convertable to float (got #{[angle, *args].map(&:class).join(', ')})"
98
99
  end
99
100
  yield(self) if block_given?
100
101
  self
@@ -8,7 +8,7 @@ module Magick
8
8
  def dpi=(n)
9
9
  unless defined?(@dpi)
10
10
  [Float, Integer].each do |c|
11
- c.class_eval <<-END_DEFS
11
+ c.class_eval <<-END_DEFS, __FILE__, __LINE__ + 1
12
12
  # the default measurement - 1px is 1 pixel
13
13
  def px
14
14
  self