rmagick 2.16.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (441) hide show
  1. checksums.yaml +5 -5
  2. data/.devcontainer/Dockerfile +14 -0
  3. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  4. data/.devcontainer/devcontainer.json +11 -0
  5. data/.devcontainer/setup-repo.sh +10 -0
  6. data/.devcontainer/setup-user.sh +45 -0
  7. data/.editorconfig +3 -0
  8. data/.github/ISSUE_TEMPLATE.md +17 -0
  9. data/.github/workflows/ci.yml +157 -0
  10. data/.gitignore +9 -1
  11. data/.rspec +1 -0
  12. data/.rubocop.yml +37 -340
  13. data/.rubocop_todo.yml +456 -0
  14. data/.yardopts +5 -0
  15. data/CHANGELOG.md +536 -0
  16. data/CODE_OF_CONDUCT.md +122 -7
  17. data/CONTRIBUTING.md +37 -6
  18. data/Gemfile +18 -4
  19. data/README.md +319 -0
  20. data/Rakefile +83 -98
  21. data/before_install_linux.sh +65 -28
  22. data/before_install_osx.sh +58 -2
  23. data/ext/RMagick/extconf.rb +310 -393
  24. data/ext/RMagick/{rmagick.c → rmagick.cpp} +119 -127
  25. data/ext/RMagick/rmagick.h +290 -363
  26. data/ext/RMagick/rmagick_gvl.h +224 -0
  27. data/ext/RMagick/rmdraw.cpp +1696 -0
  28. data/ext/RMagick/rmenum.cpp +796 -0
  29. data/ext/RMagick/{rmfill.c → rmfill.cpp} +287 -197
  30. data/ext/RMagick/rmilist.cpp +1275 -0
  31. data/ext/RMagick/rmimage.cpp +16459 -0
  32. data/ext/RMagick/{rminfo.c → rminfo.cpp} +738 -910
  33. data/ext/RMagick/rmkinfo.cpp +210 -0
  34. data/ext/RMagick/rmmain.cpp +1923 -0
  35. data/ext/RMagick/rmmontage.cpp +474 -0
  36. data/ext/RMagick/rmpixel.cpp +1322 -0
  37. data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +104 -284
  38. data/ext/RMagick/{rmutil.c → rmutil.cpp} +500 -433
  39. data/lib/rmagick/version.rb +5 -4
  40. data/lib/rmagick.rb +2 -0
  41. data/lib/rmagick_internal.rb +397 -459
  42. data/lib/rvg/clippath.rb +3 -4
  43. data/lib/rvg/container.rb +30 -22
  44. data/lib/rvg/deep_equal.rb +11 -11
  45. data/lib/rvg/describable.rb +2 -2
  46. data/lib/rvg/embellishable.rb +67 -68
  47. data/lib/rvg/misc.rb +139 -142
  48. data/lib/rvg/paint.rb +2 -1
  49. data/lib/rvg/pathdata.rb +7 -8
  50. data/lib/rvg/rvg.rb +49 -46
  51. data/lib/rvg/stretchable.rb +22 -28
  52. data/lib/rvg/stylable.rb +12 -10
  53. data/lib/rvg/text.rb +169 -165
  54. data/lib/rvg/transformable.rb +17 -16
  55. data/lib/rvg/units.rb +5 -5
  56. data/rmagick.gemspec +7 -41
  57. data/sig/rmagick/_draw_common_methods.rbs +64 -0
  58. data/sig/rmagick/_image_common_methods.rbs +389 -0
  59. data/sig/rmagick/draw.rbs +38 -0
  60. data/sig/rmagick/draw_attribute.rbs +28 -0
  61. data/sig/rmagick/enum.rbs +814 -0
  62. data/sig/rmagick/error.rbs +11 -0
  63. data/sig/rmagick/fill.rbs +21 -0
  64. data/sig/rmagick/geometry.rbs +14 -0
  65. data/sig/rmagick/image.rbs +194 -0
  66. data/sig/rmagick/image_list.rbs +181 -0
  67. data/sig/rmagick/iptc.rbs +101 -0
  68. data/sig/rmagick/kernel_info.rbs +12 -0
  69. data/sig/rmagick/optional_method_arguments.rbs +10 -0
  70. data/sig/rmagick/pixel.rbs +46 -0
  71. data/sig/rmagick/struct.rbs +90 -0
  72. data/sig/rmagick.rbs +43 -0
  73. data/sig/rvg/clippath.rbs +34 -0
  74. data/sig/rvg/container.rbs +78 -0
  75. data/sig/rvg/deep_equal.rbs +48 -0
  76. data/sig/rvg/describable.rbs +30 -0
  77. data/sig/rvg/embellishable.rbs +226 -0
  78. data/sig/rvg/misc.rbs +145 -0
  79. data/sig/rvg/paint.rbs +55 -0
  80. data/sig/rvg/pathdata.rbs +77 -0
  81. data/sig/rvg/rvg.rbs +125 -0
  82. data/sig/rvg/stretchable.rbs +56 -0
  83. data/sig/rvg/stylable.rbs +66 -0
  84. data/sig/rvg/text.rbs +118 -0
  85. data/sig/rvg/transformable.rbs +59 -0
  86. data/sig/rvg/units.rbs +33 -0
  87. metadata +68 -428
  88. data/.hound.yml +0 -2
  89. data/.simplecov +0 -27
  90. data/.travis.yml +0 -74
  91. data/Doxyfile +0 -1514
  92. data/README.textile +0 -251
  93. data/deprecated/RMagick.rb +0 -6
  94. data/doc/.cvsignore +0 -1
  95. data/doc/comtasks.html +0 -287
  96. data/doc/constants.html +0 -1581
  97. data/doc/css/doc.css +0 -299
  98. data/doc/css/popup.css +0 -34
  99. data/doc/css/ref.css +0 -67
  100. data/doc/draw.html +0 -3272
  101. data/doc/ex/InitialCoords.rb +0 -22
  102. data/doc/ex/NewCoordSys.rb +0 -30
  103. data/doc/ex/OrigCoordSys.rb +0 -16
  104. data/doc/ex/PreserveAspectRatio.rb +0 -204
  105. data/doc/ex/RotateScale.rb +0 -36
  106. data/doc/ex/Skew.rb +0 -38
  107. data/doc/ex/Use01.rb +0 -15
  108. data/doc/ex/Use02.rb +0 -20
  109. data/doc/ex/Use03.rb +0 -16
  110. data/doc/ex/ViewBox.rb +0 -31
  111. data/doc/ex/adaptive_threshold.rb +0 -9
  112. data/doc/ex/add_noise.rb +0 -16
  113. data/doc/ex/affine.rb +0 -48
  114. data/doc/ex/affine_transform.rb +0 -20
  115. data/doc/ex/arc.rb +0 -49
  116. data/doc/ex/arcpath.rb +0 -32
  117. data/doc/ex/arcs01.rb +0 -28
  118. data/doc/ex/arcs02.rb +0 -59
  119. data/doc/ex/average.rb +0 -15
  120. data/doc/ex/axes.rb +0 -64
  121. data/doc/ex/baseline_shift01.rb +0 -17
  122. data/doc/ex/bilevel_channel.rb +0 -8
  123. data/doc/ex/blur_image.rb +0 -12
  124. data/doc/ex/border.rb +0 -10
  125. data/doc/ex/bounding_box.rb +0 -42
  126. data/doc/ex/cbezier1.rb +0 -41
  127. data/doc/ex/cbezier2.rb +0 -41
  128. data/doc/ex/cbezier3.rb +0 -41
  129. data/doc/ex/cbezier4.rb +0 -42
  130. data/doc/ex/cbezier5.rb +0 -42
  131. data/doc/ex/cbezier6.rb +0 -53
  132. data/doc/ex/channel.rb +0 -25
  133. data/doc/ex/charcoal.rb +0 -12
  134. data/doc/ex/chop.rb +0 -29
  135. data/doc/ex/circle.rb +0 -33
  136. data/doc/ex/circle01.rb +0 -16
  137. data/doc/ex/clip_path.rb +0 -60
  138. data/doc/ex/coalesce.rb +0 -57
  139. data/doc/ex/color_fill_to_border.rb +0 -29
  140. data/doc/ex/color_floodfill.rb +0 -28
  141. data/doc/ex/color_histogram.rb +0 -47
  142. data/doc/ex/color_reset.rb +0 -11
  143. data/doc/ex/colorize.rb +0 -16
  144. data/doc/ex/colors.rb +0 -64
  145. data/doc/ex/compose_mask.rb +0 -22
  146. data/doc/ex/composite.rb +0 -133
  147. data/doc/ex/composite_layers.rb +0 -53
  148. data/doc/ex/composite_tiled.rb +0 -21
  149. data/doc/ex/contrast.rb +0 -36
  150. data/doc/ex/crop.rb +0 -31
  151. data/doc/ex/crop_with_gravity.rb +0 -42
  152. data/doc/ex/cubic01.rb +0 -43
  153. data/doc/ex/cubic02.rb +0 -91
  154. data/doc/ex/cycle_colormap.rb +0 -21
  155. data/doc/ex/dissolve.rb +0 -12
  156. data/doc/ex/drawcomp.rb +0 -42
  157. data/doc/ex/drop_shadow.rb +0 -60
  158. data/doc/ex/edge.rb +0 -11
  159. data/doc/ex/ellipse.rb +0 -45
  160. data/doc/ex/ellipse01.rb +0 -21
  161. data/doc/ex/emboss.rb +0 -11
  162. data/doc/ex/enhance.rb +0 -28
  163. data/doc/ex/equalize.rb +0 -11
  164. data/doc/ex/evenodd.rb +0 -42
  165. data/doc/ex/fill_pattern.rb +0 -23
  166. data/doc/ex/flatten_images.rb +0 -36
  167. data/doc/ex/flip.rb +0 -11
  168. data/doc/ex/flop.rb +0 -11
  169. data/doc/ex/font_styles.rb +0 -32
  170. data/doc/ex/fonts.rb +0 -20
  171. data/doc/ex/frame.rb +0 -12
  172. data/doc/ex/gaussian_blur.rb +0 -11
  173. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  174. data/doc/ex/get_pixels.rb +0 -47
  175. data/doc/ex/get_type_metrics.rb +0 -141
  176. data/doc/ex/gradientfill.rb +0 -27
  177. data/doc/ex/grav.rb +0 -45
  178. data/doc/ex/gravity.rb +0 -80
  179. data/doc/ex/group.rb +0 -26
  180. data/doc/ex/hatchfill.rb +0 -27
  181. data/doc/ex/image.rb +0 -44
  182. data/doc/ex/images/Apple.miff +0 -0
  183. data/doc/ex/images/Ballerina.jpg +0 -0
  184. data/doc/ex/images/Ballerina3.jpg +0 -0
  185. data/doc/ex/images/Button_0.gif +0 -0
  186. data/doc/ex/images/Button_1.gif +0 -0
  187. data/doc/ex/images/Button_2.gif +0 -0
  188. data/doc/ex/images/Button_3.gif +0 -0
  189. data/doc/ex/images/Button_4.gif +0 -0
  190. data/doc/ex/images/Button_5.gif +0 -0
  191. data/doc/ex/images/Button_6.gif +0 -0
  192. data/doc/ex/images/Button_7.gif +0 -0
  193. data/doc/ex/images/Button_8.gif +0 -0
  194. data/doc/ex/images/Button_9.gif +0 -0
  195. data/doc/ex/images/Button_A.gif +0 -0
  196. data/doc/ex/images/Button_B.gif +0 -0
  197. data/doc/ex/images/Button_C.gif +0 -0
  198. data/doc/ex/images/Button_D.gif +0 -0
  199. data/doc/ex/images/Button_E.gif +0 -0
  200. data/doc/ex/images/Button_F.gif +0 -0
  201. data/doc/ex/images/Button_G.gif +0 -0
  202. data/doc/ex/images/Button_H.gif +0 -0
  203. data/doc/ex/images/Button_I.gif +0 -0
  204. data/doc/ex/images/Button_J.gif +0 -0
  205. data/doc/ex/images/Button_K.gif +0 -0
  206. data/doc/ex/images/Button_L.gif +0 -0
  207. data/doc/ex/images/Button_M.gif +0 -0
  208. data/doc/ex/images/Button_N.gif +0 -0
  209. data/doc/ex/images/Button_O.gif +0 -0
  210. data/doc/ex/images/Button_P.gif +0 -0
  211. data/doc/ex/images/Button_Q.gif +0 -0
  212. data/doc/ex/images/Button_R.gif +0 -0
  213. data/doc/ex/images/Button_S.gif +0 -0
  214. data/doc/ex/images/Button_T.gif +0 -0
  215. data/doc/ex/images/Button_U.gif +0 -0
  216. data/doc/ex/images/Button_V.gif +0 -0
  217. data/doc/ex/images/Button_W.gif +0 -0
  218. data/doc/ex/images/Button_X.gif +0 -0
  219. data/doc/ex/images/Button_Y.gif +0 -0
  220. data/doc/ex/images/Button_Z.gif +0 -0
  221. data/doc/ex/images/Cheetah.jpg +0 -0
  222. data/doc/ex/images/Coffee.wmf +0 -0
  223. data/doc/ex/images/Flower_Hat.jpg +0 -0
  224. data/doc/ex/images/Gold_Statue.jpg +0 -0
  225. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  226. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  227. data/doc/ex/images/Leaf.miff +0 -0
  228. data/doc/ex/images/No.wmf +0 -0
  229. data/doc/ex/images/Polynesia.jpg +0 -0
  230. data/doc/ex/images/Red_Rocks.jpg +0 -0
  231. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  232. data/doc/ex/images/Shorts.jpg +0 -0
  233. data/doc/ex/images/Snake.wmf +0 -0
  234. data/doc/ex/images/Violin.jpg +0 -0
  235. data/doc/ex/images/Yellow_Rose.miff +0 -0
  236. data/doc/ex/images/big-duck.gif +0 -0
  237. data/doc/ex/images/duck.gif +0 -0
  238. data/doc/ex/images/duck0.gif +0 -0
  239. data/doc/ex/images/duck1.gif +0 -0
  240. data/doc/ex/images/duck10.gif +0 -0
  241. data/doc/ex/images/duck11.gif +0 -0
  242. data/doc/ex/images/duck12.gif +0 -0
  243. data/doc/ex/images/duck13.gif +0 -0
  244. data/doc/ex/images/duck14.gif +0 -0
  245. data/doc/ex/images/duck15.gif +0 -0
  246. data/doc/ex/images/duck2.gif +0 -0
  247. data/doc/ex/images/duck3.gif +0 -0
  248. data/doc/ex/images/duck4.gif +0 -0
  249. data/doc/ex/images/duck5.gif +0 -0
  250. data/doc/ex/images/duck6.gif +0 -0
  251. data/doc/ex/images/duck7.gif +0 -0
  252. data/doc/ex/images/duck8.gif +0 -0
  253. data/doc/ex/images/duck9.gif +0 -0
  254. data/doc/ex/images/graydient230x6.gif +0 -0
  255. data/doc/ex/images/image_with_profile.jpg +0 -0
  256. data/doc/ex/images/logo400x83.gif +0 -0
  257. data/doc/ex/images/model.miff +0 -0
  258. data/doc/ex/images/notimplemented.gif +0 -0
  259. data/doc/ex/images/smile.miff +0 -0
  260. data/doc/ex/images/spin.gif +0 -0
  261. data/doc/ex/implode.rb +0 -34
  262. data/doc/ex/level.rb +0 -11
  263. data/doc/ex/level_colors.rb +0 -11
  264. data/doc/ex/line.rb +0 -41
  265. data/doc/ex/line01.rb +0 -21
  266. data/doc/ex/mask.rb +0 -35
  267. data/doc/ex/matte_fill_to_border.rb +0 -39
  268. data/doc/ex/matte_floodfill.rb +0 -32
  269. data/doc/ex/matte_replace.rb +0 -39
  270. data/doc/ex/median_filter.rb +0 -28
  271. data/doc/ex/modulate.rb +0 -11
  272. data/doc/ex/mono.rb +0 -23
  273. data/doc/ex/morph.rb +0 -25
  274. data/doc/ex/mosaic.rb +0 -35
  275. data/doc/ex/motion_blur.rb +0 -11
  276. data/doc/ex/negate.rb +0 -11
  277. data/doc/ex/negate_channel.rb +0 -9
  278. data/doc/ex/nested_rvg.rb +0 -21
  279. data/doc/ex/nonzero.rb +0 -42
  280. data/doc/ex/normalize.rb +0 -11
  281. data/doc/ex/oil_paint.rb +0 -11
  282. data/doc/ex/opacity.rb +0 -37
  283. data/doc/ex/ordered_dither.rb +0 -11
  284. data/doc/ex/path.rb +0 -63
  285. data/doc/ex/pattern1.rb +0 -25
  286. data/doc/ex/pattern2.rb +0 -26
  287. data/doc/ex/polaroid.rb +0 -27
  288. data/doc/ex/polygon.rb +0 -23
  289. data/doc/ex/polygon01.rb +0 -21
  290. data/doc/ex/polyline.rb +0 -22
  291. data/doc/ex/polyline01.rb +0 -21
  292. data/doc/ex/posterize.rb +0 -8
  293. data/doc/ex/preview.rb +0 -8
  294. data/doc/ex/qbezierpath.rb +0 -52
  295. data/doc/ex/quad01.rb +0 -34
  296. data/doc/ex/quantize-m.rb +0 -25
  297. data/doc/ex/radial_blur.rb +0 -9
  298. data/doc/ex/raise.rb +0 -8
  299. data/doc/ex/random_threshold_channel.rb +0 -13
  300. data/doc/ex/rect01.rb +0 -14
  301. data/doc/ex/rect02.rb +0 -20
  302. data/doc/ex/rectangle.rb +0 -34
  303. data/doc/ex/reduce_noise.rb +0 -28
  304. data/doc/ex/remap.rb +0 -11
  305. data/doc/ex/remap_images.rb +0 -19
  306. data/doc/ex/resize_to_fill.rb +0 -8
  307. data/doc/ex/resize_to_fit.rb +0 -8
  308. data/doc/ex/roll.rb +0 -9
  309. data/doc/ex/rotate.rb +0 -44
  310. data/doc/ex/rotate_f.rb +0 -14
  311. data/doc/ex/roundrect.rb +0 -33
  312. data/doc/ex/rubyname.rb +0 -30
  313. data/doc/ex/rvg_clippath.rb +0 -12
  314. data/doc/ex/rvg_linecap.rb +0 -42
  315. data/doc/ex/rvg_linejoin.rb +0 -40
  316. data/doc/ex/rvg_opacity.rb +0 -18
  317. data/doc/ex/rvg_pattern.rb +0 -26
  318. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  319. data/doc/ex/segment.rb +0 -11
  320. data/doc/ex/sepiatone.rb +0 -7
  321. data/doc/ex/shade.rb +0 -11
  322. data/doc/ex/shadow.rb +0 -30
  323. data/doc/ex/shave.rb +0 -15
  324. data/doc/ex/shear.rb +0 -10
  325. data/doc/ex/sketch.rb +0 -17
  326. data/doc/ex/skewx.rb +0 -51
  327. data/doc/ex/skewy.rb +0 -47
  328. data/doc/ex/smile.rb +0 -125
  329. data/doc/ex/solarize.rb +0 -11
  330. data/doc/ex/sparse_color.rb +0 -54
  331. data/doc/ex/splice.rb +0 -8
  332. data/doc/ex/spread.rb +0 -11
  333. data/doc/ex/stegano.rb +0 -55
  334. data/doc/ex/stroke_dasharray.rb +0 -42
  335. data/doc/ex/stroke_fill.rb +0 -10
  336. data/doc/ex/stroke_linecap.rb +0 -44
  337. data/doc/ex/stroke_linejoin.rb +0 -48
  338. data/doc/ex/stroke_width.rb +0 -49
  339. data/doc/ex/swirl.rb +0 -17
  340. data/doc/ex/text.rb +0 -37
  341. data/doc/ex/text01.rb +0 -16
  342. data/doc/ex/text_align.rb +0 -36
  343. data/doc/ex/text_antialias.rb +0 -37
  344. data/doc/ex/text_styles.rb +0 -19
  345. data/doc/ex/text_undercolor.rb +0 -28
  346. data/doc/ex/texture_fill_to_border.rb +0 -34
  347. data/doc/ex/texture_floodfill.rb +0 -32
  348. data/doc/ex/texturefill.rb +0 -24
  349. data/doc/ex/threshold.rb +0 -13
  350. data/doc/ex/to_blob.rb +0 -13
  351. data/doc/ex/translate.rb +0 -39
  352. data/doc/ex/transparent.rb +0 -38
  353. data/doc/ex/transpose.rb +0 -9
  354. data/doc/ex/transverse.rb +0 -9
  355. data/doc/ex/tref01.rb +0 -24
  356. data/doc/ex/triangle01.rb +0 -15
  357. data/doc/ex/trim.rb +0 -23
  358. data/doc/ex/tspan01.rb +0 -17
  359. data/doc/ex/tspan02.rb +0 -17
  360. data/doc/ex/tspan03.rb +0 -19
  361. data/doc/ex/unsharp_mask.rb +0 -28
  362. data/doc/ex/viewex.rb +0 -33
  363. data/doc/ex/vignette.rb +0 -12
  364. data/doc/ex/watermark.rb +0 -27
  365. data/doc/ex/wave.rb +0 -9
  366. data/doc/ex/wet_floor.rb +0 -58
  367. data/doc/ex/writing_mode01.rb +0 -26
  368. data/doc/ex/writing_mode02.rb +0 -26
  369. data/doc/ilist.html +0 -2056
  370. data/doc/image1.html +0 -4680
  371. data/doc/image2.html +0 -3665
  372. data/doc/image3.html +0 -4522
  373. data/doc/imageattrs.html +0 -1638
  374. data/doc/imusage.html +0 -514
  375. data/doc/index.html +0 -416
  376. data/doc/info.html +0 -1499
  377. data/doc/magick.html +0 -565
  378. data/doc/optequiv.html +0 -2435
  379. data/doc/rvg.html +0 -975
  380. data/doc/rvgclip.html +0 -248
  381. data/doc/rvggroup.html +0 -305
  382. data/doc/rvgimage.html +0 -289
  383. data/doc/rvgpattern.html +0 -475
  384. data/doc/rvgshape.html +0 -406
  385. data/doc/rvgstyle.html +0 -270
  386. data/doc/rvgtext.html +0 -465
  387. data/doc/rvgtspan.html +0 -238
  388. data/doc/rvgtut.html +0 -530
  389. data/doc/rvguse.html +0 -145
  390. data/doc/rvgxform.html +0 -294
  391. data/doc/scripts/doc.js +0 -22
  392. data/doc/scripts/stripeTables.js +0 -23
  393. data/doc/struct.html +0 -1339
  394. data/doc/usage.html +0 -1621
  395. data/examples/constitute.rb +0 -7
  396. data/examples/crop_with_gravity.rb +0 -42
  397. data/examples/demo.rb +0 -324
  398. data/examples/describe.rb +0 -43
  399. data/examples/find_similar_region.rb +0 -34
  400. data/examples/histogram.rb +0 -321
  401. data/examples/identify.rb +0 -185
  402. data/examples/image_opacity.rb +0 -29
  403. data/examples/import_export.rb +0 -31
  404. data/examples/pattern_fill.rb +0 -38
  405. data/examples/rotating_text.rb +0 -44
  406. data/examples/spinner.rb +0 -49
  407. data/examples/thumbnail.rb +0 -64
  408. data/examples/vignette.rb +0 -78
  409. data/ext/RMagick/rmdraw.c +0 -2022
  410. data/ext/RMagick/rmenum.c +0 -1235
  411. data/ext/RMagick/rmilist.c +0 -1270
  412. data/ext/RMagick/rmimage.c +0 -15427
  413. data/ext/RMagick/rmmain.c +0 -1741
  414. data/ext/RMagick/rmmontage.c +0 -519
  415. data/ext/RMagick/rmpixel.c +0 -1114
  416. data/spec/rmagick/ImageList1_spec.rb +0 -24
  417. data/spec/rmagick/draw_spec.rb +0 -156
  418. data/spec/rmagick/image/blue_shift_spec.rb +0 -16
  419. data/spec/rmagick/image/composite_spec.rb +0 -140
  420. data/spec/rmagick/image/constitute_spec.rb +0 -15
  421. data/spec/rmagick/image/dispatch_spec.rb +0 -18
  422. data/spec/rmagick/image/from_blob_spec.rb +0 -14
  423. data/spec/rmagick/image/ping_spec.rb +0 -14
  424. data/spec/rmagick/image/properties_spec.rb +0 -29
  425. data/spec/spec_helper.rb +0 -4
  426. data/test/Image1.rb +0 -565
  427. data/test/Image2.rb +0 -1304
  428. data/test/Image3.rb +0 -1030
  429. data/test/ImageList1.rb +0 -806
  430. data/test/ImageList2.rb +0 -385
  431. data/test/Image_attributes.rb +0 -697
  432. data/test/Import_Export.rb +0 -121
  433. data/test/Info.rb +0 -345
  434. data/test/Magick.rb +0 -321
  435. data/test/Pixel.rb +0 -116
  436. data/test/Preview.rb +0 -57
  437. data/test/cmyk.icm +0 -0
  438. data/test/srgb.icm +0 -0
  439. data/test/test_all_basic.rb +0 -38
  440. data/test/tmpnam_test.rb +0 -50
  441. data/wercker.yml +0 -10
@@ -0,0 +1,11 @@
1
+ module Magick
2
+ class ImageMagickError < StandardError
3
+ attr_reader magick_location: String
4
+ end
5
+
6
+ class FatalImageMagickError < StandardError
7
+ end
8
+
9
+ class DestroyedImageError < StandardError
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module Magick
2
+ class GradientFill
3
+ include _Fill
4
+ def initialize: (magick_real x1, magick_real y1, magick_real x2, magick_real y2, magick_color start_color, magick_color stop_color) -> void
5
+ end
6
+
7
+ class HatchFill
8
+ include _Fill
9
+ def initialize: (magick_color bgcolor, ?magick_color hatchcolor, ?Numeric dist) -> void
10
+ end
11
+
12
+ class SolidFill
13
+ include _Fill
14
+ def initialize: (magick_color bgcolor) -> void
15
+ end
16
+
17
+ class TextureFill
18
+ include _Fill
19
+ def initialize: (magick_image texture_arg) -> void
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ module Magick
2
+ class Geometry
3
+ attr_accessor width: Integer | Float
4
+ attr_accessor height: Integer | Float
5
+ attr_accessor x: Integer
6
+ attr_accessor y: Integer
7
+ attr_accessor flag: GeometryValue?
8
+
9
+ def initialize: (?magick_real? width, ?magick_real? height, ?real? x, ?real? y, ?GeometryValue? flag) -> void
10
+ def self.from_s: (String str) -> Geometry
11
+ def to_s: -> String
12
+ end
13
+ end
14
+
@@ -0,0 +1,194 @@
1
+ module Magick
2
+ class Image
3
+ include Comparable
4
+
5
+ include _ImageCommonMethods
6
+
7
+ # When it reads an image file, it returns one or more Image objects.
8
+ # However, it cannot properly define it in RBS.
9
+ # If define as Array[Image] implies the possibility of returning nil.
10
+ # it would require consideration of nil in subsequent method calls.
11
+ # So, it defined in Tuple type to avoid allowing unnecessary guard statements to be written.
12
+ def self.constitute: (int witdth_arg, int height_arg, string map_arg, Array[Pixel] pixels_arg) -> Image
13
+ def self._load: (string str) -> Image
14
+ def self.capture: (bool silent, bool frame, bool descend, bool screen, bool borders) -> Image
15
+ | (bool silent, bool frame, bool descend, bool screen, bool borders) { (Image::Info) -> void } -> Image
16
+ def self.ping: (File | string file) -> [Image]
17
+ | (File | string file) { (Image::Info) -> void } -> [Image]
18
+ def self.read: (File | string file) -> [Image]
19
+ | (File | string file) { (Image::Info) -> void } -> [Image]
20
+ def self.read_inline: (string content) -> [Image]
21
+ | (string content) { (Image::Info) -> void } -> [Image]
22
+ def self.from_blob: (string blob) -> [Image]
23
+ | (string blob) { (Image::Info) -> void } -> [Image]
24
+
25
+ def initialize: (int cols, int rows, ?magick_fill fill) -> void
26
+ | (int cols, int rows, ?magick_fill fill) { (Image::Info) -> void } -> void
27
+ def <=>: (untyped object) -> (Integer | nil)
28
+ def []: (interned key_arg) -> String?
29
+ def []=: (interned key_arg, String attr_arg) -> self
30
+ def delay=: (int val) -> int
31
+ def display: () -> self
32
+ | () { (Image::Info) -> void} -> self
33
+ def marshal_dump: () -> [String, String]
34
+ def marshal_load: ([string, string] ary) -> self
35
+ def montage: () -> String?
36
+ def quantize: (?int number_colors, ?ColorspaceType colorspace, ?bool dither, ?int tree_depth, ?bool measure_error) -> Image
37
+ def scene: () -> Integer
38
+ def ticks_per_second=: (int tps) -> int
39
+ def to_blob: () -> String?
40
+ | () { (Image::Info) -> void} -> String?
41
+ def write: (File | string file) -> self
42
+ | (File | string file) { (Image::Info) -> void} -> self
43
+
44
+ class View
45
+ attr_reader x: real
46
+ attr_reader y: real
47
+ attr_reader width: real
48
+ attr_reader height: real
49
+ attr_accessor dirty: bool
50
+ def initialize: (Image img, real x, real y, real width, real height) -> void
51
+ def []: (Integer index) -> Rows
52
+ | (Range[Numeric] range) -> Rows
53
+ | (Integer start, Integer length) -> Rows
54
+ def sync: (?bool force) -> bool
55
+ def update: (Rows rows) -> nil
56
+
57
+ class Pixels < Array[untyped]
58
+ # include Observable
59
+ def red: () -> Array[Integer]
60
+ attr_writer red: Integer
61
+ def green: () -> Array[Integer]
62
+ attr_writer green: Integer
63
+ def blue: () -> Array[Integer]
64
+ attr_writer blue: Integer
65
+ def opacity: () -> Array[Integer]
66
+ attr_writer opacity: Integer
67
+ end
68
+
69
+ class Rows
70
+ # include Observable
71
+ def initialize: (View view, real width, real height, Rows rows) -> void
72
+ def []: () -> View::Pixels
73
+ | (Integer index) -> Pixel
74
+ | (Range[Numeric] range) -> View::Pixels
75
+ | (Integer start, Integer length) -> View::Pixels
76
+ def []=: (magick_color value) -> void
77
+ | (Integer index, magick_color value) -> void
78
+ | (Range[Numeric] range, magick_color value) -> void
79
+ | (Integer start, Integer length, magick_color value) -> void
80
+ def update: (Pixels | Pixel pixel) -> nil
81
+
82
+ private
83
+
84
+ def cols: (*untyped args) -> void
85
+ def each: () -> void
86
+ end
87
+ end
88
+
89
+ class Info
90
+ def initialize: () -> void
91
+ def channel: (*ChannelType channel) -> self
92
+ def define: (string format, string key, ?string value) -> self?
93
+ def []=: (string format, string key, string value) -> self?
94
+ | (string key, string value) -> self?
95
+ def []: (string format, string key) -> String?
96
+ | (string key) -> String?
97
+ def undefine: (string format, string key) -> self
98
+
99
+ attr_accessor antialias: bool
100
+ def attenuate: () -> Float
101
+ attr_writer attenuate: magick_real
102
+ attr_accessor authenticate: string?
103
+ def background_color: () -> String
104
+ attr_writer background_color: magick_color
105
+ def border_color: () -> String
106
+ attr_writer border_color: magick_color
107
+ def caption: () -> String
108
+ attr_writer caption: string?
109
+ attr_accessor colorspace: ColorspaceType
110
+ def comment: () -> String
111
+ attr_writer comment: string?
112
+ attr_accessor compression: CompressionType
113
+ def delay: () -> Integer?
114
+ attr_writer delay: int?
115
+ def density: () -> String?
116
+ attr_writer density: (Geometry | string)?
117
+ def depth: () -> Integer
118
+ attr_writer depth: int
119
+ def dispose: () -> DisposeType
120
+ attr_writer dispose: DisposeType?
121
+ attr_accessor dither: bool
122
+ attr_accessor endian: EndianType
123
+ def extract: () -> String?
124
+ attr_writer extract: (Geometry | string)?
125
+ def filename: () -> String
126
+ attr_writer filename: string?
127
+ def fill: () -> String?
128
+ attr_writer fill: string?
129
+ def font: () -> String?
130
+ attr_writer font: string?
131
+ def format: () -> String?
132
+ attr_writer format: string
133
+ def fuzz: () -> Float
134
+ attr_writer fuzz: magick_percentage
135
+ def gravity: () -> GravityType
136
+ attr_writer gravity: GravityType?
137
+ attr_accessor image_type: ImageType
138
+ attr_accessor interlace: InterlaceType
139
+ def label: () -> String?
140
+ attr_writer label: string?
141
+ def matte_color: () -> String
142
+ attr_writer matte_color: magick_color
143
+ attr_accessor monochrome: bool
144
+ def number_scenes: () -> Integer
145
+ attr_writer number_scenes: int
146
+ attr_accessor orientation: OrientationType
147
+ def origin: () -> String?
148
+ attr_writer origin: (Geometry | string)?
149
+ def page: () -> String?
150
+ attr_writer page: (Geometry | string)?
151
+ def pointsize: () -> Float
152
+ attr_writer pointsize: magick_real
153
+ def quality: () -> Integer
154
+ attr_writer quality: int
155
+ def sampling_factor: () -> String?
156
+ attr_writer sampling_factor: string?
157
+ def scene: () -> Integer
158
+ attr_writer scene: int
159
+ def server_name: () -> String?
160
+ attr_writer server_name: string?
161
+ def size: () -> String?
162
+ attr_writer size: (Geometry | string)?
163
+ def stroke: () -> String?
164
+ attr_writer stroke: string?
165
+ def stroke_width: () -> Float?
166
+ attr_writer stroke_width: magick_real?
167
+ attr_writer texture: Image | nil
168
+ def tile_offset: () -> String?
169
+ attr_writer tile_offset: (Geometry | string)?
170
+ def transparent_color: () -> String
171
+ attr_writer transparent_color: magick_color
172
+ def undercolor: () -> String?
173
+ attr_writer undercolor: string?
174
+ attr_accessor units: ResolutionType
175
+ def view: () -> String?
176
+ attr_writer view: string?
177
+ end
178
+
179
+ class DrawOptions
180
+ def initialize: () -> void
181
+
182
+ include DrawAttribute
183
+ end
184
+
185
+ class PolaroidOptions
186
+ def initialize: () -> void
187
+
188
+ attr_writer shadow_color: magick_color
189
+ attr_writer border_color: magick_color
190
+
191
+ include DrawAttribute
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,181 @@
1
+ module Magick
2
+ class ImageList
3
+ include Enumerable[Image]
4
+ include Comparable
5
+ # The methods of Magick::Image class can be called via method_missing
6
+ include _ImageCommonMethods
7
+
8
+ private
9
+
10
+ def get_current: () -> Integer?
11
+
12
+ public
13
+
14
+ def assert_image: (untyped obj) -> void
15
+
16
+ # Ensure array is always an array of Magick::Image objects
17
+ def assert_image_array: (untyped ary) -> void
18
+
19
+ # Find old current image, update scene number
20
+ # current is the id of the old current image.
21
+ def set_current: (untyped current) -> void
22
+
23
+ def scene: () -> Integer?
24
+ def scene=: (int? n) -> Integer?
25
+ def &: (ImageList | Array[Image] other) -> ImageList
26
+ def +: (ImageList | Array[Image] other) -> ImageList
27
+ def -: (ImageList | Array[Image] other) -> ImageList
28
+ def |: (ImageList | Array[Image] other) -> ImageList
29
+ def *: (Integer other) -> ImageList
30
+ def <<: (Image obj) -> self
31
+ def <=>: (untyped other) -> (Integer | nil)
32
+ def []: (int nth) -> Image?
33
+ | (Range[Integer] range) -> ImageList
34
+ | (int start, int length) -> ImageList
35
+ def []=: (int nth, magick_image | Array[Image] image) -> void
36
+ | (Range[Integer] range, magick_image | Array[Image] image) -> void
37
+ | (int start, int length, magick_image | Array[Image] image) -> void
38
+ def at: () -> Image
39
+ def each: () -> Enumerator[Image, self]
40
+ | () { (Image) -> void} -> void
41
+ def each_index: () -> Enumerator[Integer, self]
42
+ | () { (Integer) -> void } -> void
43
+ def empty?: () -> bool
44
+ def fetch: (int index) -> Image
45
+ | [T] (int index, T default) -> (Image | T)
46
+ | [T] (int index) { (Integer index) -> T } -> (Integer | T)
47
+ def first: () -> Image?
48
+ | (int n) -> Array[Image]
49
+ def hash: () -> Integer
50
+ def include?: (untyped obj) -> bool
51
+ def index: (Image | ImageList | Array[Image] obj) -> ::Integer?
52
+ | () { (Image) -> bool } -> Integer?
53
+ | () -> ::Enumerator[Image, Integer?]
54
+ def length: () -> Integer
55
+ def rindex: (Image | ImageList | Array[Image] obj) -> ::Integer?
56
+ | () { (Image) -> bool } -> Integer?
57
+ | () -> ::Enumerator[Image, Integer?]
58
+ def sort!: () -> self
59
+ | () { (Image a, Image b) -> Integer } -> self
60
+ def clear: () -> void
61
+ def clone: () -> ImageList
62
+ | ...
63
+ def collect: () { (Image) -> Image } -> ImageList
64
+ def collect!: () { (Image) -> Image } -> self
65
+ def copy: -> ImageList
66
+ | ...
67
+ def cur_image: -> Image
68
+ | ...
69
+ alias map collect
70
+ alias __map__ collect
71
+ alias map! collect!
72
+ alias __map__! collect!
73
+ def compact: -> ImageList
74
+ def compact!: -> self?
75
+ def concat: (ImageList | Array[Image] other) -> self
76
+ def delay=: (int d) -> void
77
+ def delete: (Image obj) -> Image?
78
+ | [T] (Image obj) { (Image) -> T } -> (Image | T)
79
+ def delete_at: (int ndx) -> Image?
80
+ def delete_if: () { (Image) -> bool } -> self
81
+ | () -> self
82
+ def dup: -> ImageList
83
+ | ...
84
+ def eql?: (ImageList | Array[Image] other) -> bool
85
+ def fill: (Image image, ?int start, ?int length) -> ImageList
86
+ | (Image image, Range[Integer] range) -> ImageList
87
+ | (?int start, ?int length) { (Integer index) -> Image } -> ImageList
88
+ | (Range[Integer] range) { (Integer index) -> Image } -> ImageList
89
+ def find_all: () { (Image) -> bool } -> ImageList
90
+ | () -> ImageList
91
+ alias select find_all
92
+ def from_blob: (string blob) -> self
93
+ | (string blob) { (Image::Info) -> void } -> self
94
+ def initialize: (*(File | string) filenames) -> void
95
+ | (*(File | string) filenames) { (Image::Info) -> void } -> void
96
+ def insert: (int index, *Image args) -> self
97
+ def iterations=: (int n) -> void
98
+ def last: () -> Image?
99
+ | (int n) -> ImageList
100
+ def marshal_dump: () -> (Array[(Integer | String)?])
101
+ def marshal_load: (Array[(Integer | String)?] ary) -> void
102
+ def method_missing: (untyped meth_id, *untyped args) ?{ (*untyped, **untyped) -> untyped } -> untyped
103
+ def new_image: (int cols, int rows, ?magick_fill fill) -> self
104
+ | (int cols, int rows, ?magick_fill fill) { (Image::Info) -> void } -> self
105
+ def partition: () { (Image) -> bool } -> [ImageList, ImageList]
106
+ def ping: (*(File | string) files) -> self
107
+ | (*(File | string) files) { (Image::Info) -> void } -> self
108
+ def pop: () -> Image?
109
+ def push: (*Image objs) -> self
110
+ def read: (*(File | string) files) -> self
111
+ | (*(File | string) files) { (Image::Info) -> void } -> self
112
+ def reject: () { (Image) -> bool } -> ImageList
113
+ def reject!: () { (Image) -> bool } -> self?
114
+ def replace: (ImageList | Array[Image] other) -> ImageList
115
+ def respond_to?: (interned meth_id, ?bool priv) -> bool
116
+ def reverse: -> ImageList
117
+ def reverse!: -> self
118
+ def reverse_each: () { (Image) -> void } -> self
119
+ def shift: () -> Image?
120
+ def slice: (int index) -> ImageList?
121
+ | (int start, int length) -> ImageList?
122
+ | (Range[Integer] range) -> ImageList?
123
+ def slice!: (int index) -> Image?
124
+ | (int start, int length) -> Image?
125
+ | (Range[Integer] range) -> Image?
126
+ def ticks_per_second=: (int t) -> void
127
+ def to_a: () -> Array[Image]
128
+ def uniq: -> ImageList
129
+ def uniq!: () -> self?
130
+ def unshift: (Image obj) -> self
131
+ def values_at: (*int index) -> ImageList
132
+ | (Range[Integer] range) -> ImageList
133
+
134
+ alias __display__ display
135
+ def remap: (?magick_image? remap_image, ?DitherMethod dither_method) -> self
136
+ | ...
137
+ def animate: (?int delay) -> self
138
+ | (?int delay) { (Image::Info) -> void } -> self
139
+ def append: (bool stack_arg) -> Image
140
+ def average: () -> Image
141
+ def coalesce: () -> ImageList
142
+ def combine: (?ColorspaceType colorspace) -> Image
143
+ def composite_layers: (ImageList images, ?CompositeOperator composite_op) -> ImageList
144
+ def deconstruct: () -> ImageList
145
+ def display: () -> self
146
+ | () { (Image::Info) -> void } -> self
147
+ def flatten_images: () -> Image
148
+ def montage: () -> ImageList
149
+ | () { (ImageList::Montage) -> void } -> ImageList
150
+ def morph: (int nimages) -> ImageList
151
+ def mosaic: () -> Image
152
+ def optimize_layers: (LayerMethod method) -> ImageList
153
+ def quantize: (?int number_colors, ?ColorspaceType colorspace, ?(DitherMethod | bool) dither, ?int tree_depth, ?bool measure_error) -> ImageList
154
+ def to_blob: () -> String?
155
+ | () { (Image::Info) -> void} -> String?
156
+ def write: (File | string file) -> self
157
+ | (File | string file) { (Image::Info) -> void } -> self
158
+
159
+ class Montage
160
+ def initialize: () -> void
161
+
162
+ attr_writer background_color: magick_color
163
+ attr_writer border_color: magick_color
164
+ attr_writer border_width: int
165
+ attr_writer compose: CompositeOperator
166
+ attr_writer filename: string
167
+ attr_writer fill: magick_color
168
+ attr_writer font: string
169
+ attr_writer frame: Geometry | string
170
+ attr_writer geometry: Geometry | string
171
+ attr_writer gravity: GravityType
172
+ attr_writer matte_color: magick_color
173
+ attr_writer pointsize: magick_real
174
+ attr_writer shadow: bool
175
+ attr_writer stroke: magick_color
176
+ attr_writer texture: magick_image
177
+ attr_writer tile: Geometry | string
178
+ attr_writer title: string
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,101 @@
1
+ module Magick
2
+ module IPTC
3
+ module Envelope
4
+ Model_Version: String
5
+ Destination: String
6
+ File_Format: String
7
+ File_Format_Version: String
8
+ Service_Identifier: String
9
+ Envelope_Number: String
10
+ Product_ID: String
11
+ Envelope_Priority: String
12
+ Date_Sent: String
13
+ Time_Sent: String
14
+ Coded_Character_Set: String
15
+ UNO: String
16
+ Unique_Name_of_Object: String
17
+ ARM_Identifier: String
18
+ ARM_Version: String
19
+ end
20
+
21
+ module Application
22
+ Record_Version: String
23
+ Object_Type_Reference: String
24
+ Object_Name: String
25
+ Title: String
26
+ Edit_Status: String
27
+ Editorial_Update: String
28
+ Urgency: String
29
+ Subject_Reference: String
30
+ Category: String
31
+ Supplemental_Category: String
32
+ Fixture_Identifier: String
33
+ Keywords: String
34
+ Content_Location_Code: String
35
+ Content_Location_Name: String
36
+ Release_Date: String
37
+ Release_Time: String
38
+ Expiration_Date: String
39
+ Expiration_Time: String
40
+ Special_Instructions: String
41
+ Action_Advised: String
42
+ Reference_Service: String
43
+ Reference_Date: String
44
+ Reference_Number: String
45
+ Date_Created: String
46
+ Time_Created: String
47
+ Digital_Creation_Date: String
48
+ Digital_Creation_Time: String
49
+ Originating_Program: String
50
+ Program_Version: String
51
+ Object_Cycle: String
52
+ By_Line: String
53
+ Author: String
54
+ By_Line_Title: String
55
+ Author_Position: String
56
+ City: String
57
+ Sub_Location: String
58
+ Province: String
59
+ State: String
60
+ Country_Primary_Location_Code: String
61
+ Country_Primary_Location_Name: String
62
+ Original_Transmission_Reference: String
63
+ Headline: String
64
+ Credit: String
65
+ Source: String
66
+ Copyright_Notice: String
67
+ Contact: String
68
+ Abstract: String
69
+ Caption: String
70
+ Editor: String
71
+ Caption_Writer: String
72
+ Rasterized_Caption: String
73
+ Image_Type: String
74
+ Image_Orientation: String
75
+ Language_Identifier: String
76
+ Audio_Type: String
77
+ Audio_Sampling_Rate: String
78
+ Audio_Sampling_Resolution: String
79
+ Audio_Duration: String
80
+ Audio_Outcue: String
81
+ ObjectData_Preview_File_Format: String
82
+ ObjectData_Preview_File_Format_Version: String
83
+ ObjectData_Preview_Data: String
84
+ end
85
+
86
+ module Pre_ObjectData_Descriptor
87
+ Size_Mode: String
88
+ Max_Subfile_Size: String
89
+ ObjectData_Size_Announced: String
90
+ Maximum_ObjectData_Size: String
91
+ end
92
+
93
+ module ObjectData
94
+ Subfile: String
95
+ end
96
+
97
+ module Post_ObjectData_Descriptor
98
+ Confirmed_ObjectData_Size: String
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,12 @@
1
+ module Magick
2
+ class KernelInfo
3
+ def self.builtin: (KernelInfoType what, string geometry) -> KernelInfo
4
+
5
+ def initialize: (string kernel_string) -> void
6
+ def unity_add: (magick_real scale) -> nil
7
+ def scale: (magick_real scale, GeometryFlags flags) -> nil
8
+ def scale_geometry: (string geometry) -> nil
9
+ def clone: () -> KernelInfo
10
+ def dup: () -> KernelInfo
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ module Magick
2
+ class OptionalMethodArguments
3
+ attr_writer highlight_color: magick_color
4
+ attr_writer lowlight_color: magick_color
5
+
6
+ def initialize: (magick_image img) -> void
7
+ def define: (string key, ?string? value) -> String
8
+ def method_missing: (untyped mth, untyped val) ?{ (*untyped, **untyped) -> untyped } -> untyped
9
+ end
10
+ end
@@ -0,0 +1,46 @@
1
+ module Magick
2
+ class Pixel
3
+ # TODO:
4
+ # include Observable
5
+
6
+ include Comparable
7
+
8
+ # RGBA attributes
9
+ def red: () -> Integer
10
+ attr_writer red: real
11
+ def green: () -> Integer
12
+ attr_writer green: real
13
+ def blue: () -> Integer
14
+ attr_writer blue: real
15
+ def alpha: () -> Integer
16
+ attr_writer alpha: real
17
+
18
+ # CMYK attributes
19
+ def cyan: () -> Integer
20
+ attr_writer cyan: real
21
+ def magenta: () -> Integer
22
+ attr_writer magenta: real
23
+ def yellow: () -> Integer
24
+ attr_writer yellow: real
25
+ def black: () -> Integer
26
+ attr_writer black: real
27
+
28
+ def self.from_color: (string name) -> Pixel
29
+ def self.from_hsla: (magick_percentage hue, magick_percentage saturation, magick_percentage lightness, magick_percentage alpha) -> Pixel
30
+
31
+ def <=>: (untyped other) -> (-1 | 0 | 1 | nil)
32
+ def ===: (untyped other) -> bool
33
+ def eql?: (untyped other) -> bool
34
+ def initialize: (?real red, ?real green, ?real blue, ?real opacity) -> void
35
+ def clone: () -> Pixel
36
+ def dup: () -> Pixel
37
+ def fcmp: (magick_color other, ?magick_real fuzz, ?ColorspaceType colorspace) -> bool
38
+ def hash: () -> Integer
39
+ def intensity: () -> Integer
40
+ def marshal_dump: () -> Hash[Symbol, Integer]
41
+ def marshal_load: (Hash[Symbol, Integer] dpixel) -> self
42
+ def to_color: (?ComplianceType compliance, ?bool alpha, ?int depth, ?bool hex) -> String
43
+ def to_hsla: () -> [Float, Float, Float, Float]
44
+ def to_s: () -> String
45
+ end
46
+ end
@@ -0,0 +1,90 @@
1
+ module Magick
2
+ class AffineMatrix < Struct[untyped]
3
+ attr_accessor sx: real
4
+ attr_accessor rx: real
5
+ attr_accessor ry: real
6
+ attr_accessor sy: real
7
+ attr_accessor tx: real
8
+ attr_accessor ty: real
9
+
10
+ def self.new: (?real? sx, ?real? rx, ?real? ry, ?real? sy, ?real? tx, ?real? ty) -> AffineMatrix
11
+ end
12
+
13
+ class Primary < Struct[untyped]
14
+ attr_accessor x: real
15
+ attr_accessor y: real
16
+ attr_accessor z: real
17
+
18
+ def self.new: (?real? x, ?real? y, ?real? z) -> Primary
19
+ end
20
+
21
+ class Chromaticity < Struct[untyped]
22
+ attr_accessor red_primary: Primary
23
+ attr_accessor green_primary: Primary
24
+ attr_accessor blue_primary: Primary
25
+ attr_accessor white_point: Primary
26
+
27
+ def self.new: (?Primary? red_primary, ?Primary? green_primary, ?Primary? blue_primary, ?Primary? white_point) -> Chromaticity
28
+ end
29
+
30
+ class Color < Struct[untyped]
31
+ attr_accessor name: String
32
+ attr_accessor compliance: ComplianceType
33
+ attr_accessor color: Pixel
34
+
35
+ def self.new: (?String? name, ?ComplianceType? compliance, ?Pixel? color) -> Color
36
+ end
37
+
38
+ class Point < Struct[untyped]
39
+ attr_accessor x: real
40
+ attr_accessor y: real
41
+
42
+ def self.new: (?real? x, ?real? y) -> Point
43
+ end
44
+
45
+ class Rectangle < Struct[untyped]
46
+ attr_accessor width: real
47
+ attr_accessor height: real
48
+ attr_accessor x: real
49
+ attr_accessor y: real
50
+
51
+ def self.new: (?real? width, ?real? height, ?real? x, ?real? y) -> Rectangle
52
+ end
53
+
54
+ class Segment < Struct[untyped]
55
+ attr_accessor x1: real
56
+ attr_accessor y1: real
57
+ attr_accessor x2: real
58
+ attr_accessor y2: real
59
+
60
+ def self.new: (?real? x1, ?real? y1, ?real? x2, ?real? y2) -> Segment
61
+ end
62
+
63
+ class Font < Struct[untyped]
64
+ attr_accessor name: String
65
+ attr_accessor description: String
66
+ attr_accessor family: String
67
+ attr_accessor style: StyleType
68
+ attr_accessor stretch: StretchType
69
+ attr_accessor weight: Integer
70
+ attr_accessor encoding: String
71
+ attr_accessor foundry: String
72
+ attr_accessor format: String
73
+
74
+ def self.new: (?String? name, ?String? description, ?String? family, ?StyleType? style, ?StretchType? stretch, ?Integer? weight, ?String? encoding, ?String? foundry, ?String? format) -> Font
75
+ end
76
+
77
+ class TypeMetric < Struct[untyped]
78
+ attr_accessor pixels_per_em: Point
79
+ attr_accessor ascent: Float
80
+ attr_accessor descent: Float
81
+ attr_accessor width: Float
82
+ attr_accessor height: Float
83
+ attr_accessor max_advance: Float
84
+ attr_accessor bounds: Segment
85
+ attr_accessor underline_position: Float
86
+ attr_accessor underline_thickness: Float
87
+
88
+ def self.new: (?Point? pixels_per_em, ?magick_real? ascent, ?magick_real? descent, ?magick_real? width, ?magick_real? height, ?magick_real? max_advance, ?Segment? bounds, ?magick_real? underline_position, ?magick_real? underline_thickness) -> TypeMetric
89
+ end
90
+ end