rmagick 2.13.2 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/.codeclimate.yml +63 -0
- data/.editorconfig +17 -0
- data/.github/ISSUE_TEMPLATE.md +17 -0
- data/.github/workflows/ci.yml +107 -0
- data/.gitignore +25 -0
- data/.rspec +2 -0
- data/.rubocop.yml +37 -0
- data/.rubocop_todo.yml +449 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +1277 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +81 -0
- data/Gemfile +4 -0
- data/LICENSE +20 -0
- data/README.md +324 -0
- data/Rakefile +190 -0
- data/before_install_linux.sh +69 -0
- data/before_install_osx.sh +57 -0
- data/deprecated/RMagick.rb +6 -0
- data/ext/RMagick/extconf.rb +334 -333
- data/ext/RMagick/rmagick.c +129 -127
- data/ext/RMagick/rmagick.h +221 -320
- data/ext/RMagick/rmdraw.c +458 -767
- data/ext/RMagick/rmenum.c +305 -752
- data/ext/RMagick/rmfill.c +231 -199
- data/ext/RMagick/rmilist.c +437 -478
- data/ext/RMagick/rmimage.c +6130 -5342
- data/ext/RMagick/rminfo.c +695 -833
- data/ext/RMagick/rmkinfo.c +198 -0
- data/ext/RMagick/rmmain.c +752 -506
- data/ext/RMagick/rmmontage.c +94 -152
- data/ext/RMagick/rmpixel.c +619 -425
- data/ext/RMagick/rmstruct.c +206 -309
- data/ext/RMagick/rmutil.c +514 -344
- data/lib/rmagick/version.rb +5 -0
- data/lib/rmagick.rb +1 -0
- data/lib/rmagick_internal.rb +1922 -0
- data/lib/rvg/clippath.rb +35 -39
- data/lib/rvg/container.rb +123 -124
- data/lib/rvg/deep_equal.rb +45 -49
- data/lib/rvg/describable.rb +41 -47
- data/lib/rvg/embellishable.rb +380 -411
- data/lib/rvg/misc.rb +691 -711
- data/lib/rvg/paint.rb +43 -47
- data/lib/rvg/pathdata.rb +119 -125
- data/lib/rvg/rvg.rb +214 -213
- data/lib/rvg/stretchable.rb +153 -162
- data/lib/rvg/stylable.rb +111 -117
- data/lib/rvg/text.rb +169 -180
- data/lib/rvg/transformable.rb +121 -127
- data/lib/rvg/units.rb +58 -61
- data/rmagick.gemspec +36 -16
- metadata +188 -365
- data/ChangeLog +0 -773
- data/Doxyfile +0 -1514
- data/README-Mac-OSX.txt +0 -1
- data/README.html +0 -10
- data/build_tarball.rake +0 -215
- data/doc/comtasks.html +0 -287
- data/doc/constants.html +0 -1581
- data/doc/css/doc.css +0 -299
- data/doc/css/popup.css +0 -34
- data/doc/css/ref.css +0 -67
- data/doc/draw.html +0 -3269
- data/doc/ex/InitialCoords.rb +0 -23
- data/doc/ex/NewCoordSys.rb +0 -32
- data/doc/ex/OrigCoordSys.rb +0 -18
- data/doc/ex/PreserveAspectRatio.rb +0 -205
- data/doc/ex/RotateScale.rb +0 -37
- data/doc/ex/Skew.rb +0 -38
- data/doc/ex/Use01.rb +0 -16
- data/doc/ex/Use02.rb +0 -21
- data/doc/ex/Use03.rb +0 -16
- data/doc/ex/ViewBox.rb +0 -33
- data/doc/ex/adaptive_threshold.rb +0 -10
- data/doc/ex/add_noise.rb +0 -17
- data/doc/ex/affine.rb +0 -48
- data/doc/ex/affine_transform.rb +0 -20
- data/doc/ex/arc.rb +0 -49
- data/doc/ex/arcpath.rb +0 -33
- data/doc/ex/arcs01.rb +0 -28
- data/doc/ex/arcs02.rb +0 -61
- data/doc/ex/average.rb +0 -15
- data/doc/ex/axes.rb +0 -64
- data/doc/ex/baseline_shift01.rb +0 -18
- data/doc/ex/bilevel_channel.rb +0 -9
- data/doc/ex/blur_image.rb +0 -12
- data/doc/ex/border.rb +0 -10
- data/doc/ex/bounding_box.rb +0 -44
- data/doc/ex/cbezier1.rb +0 -42
- data/doc/ex/cbezier2.rb +0 -42
- data/doc/ex/cbezier3.rb +0 -42
- data/doc/ex/cbezier4.rb +0 -43
- data/doc/ex/cbezier5.rb +0 -43
- data/doc/ex/cbezier6.rb +0 -53
- data/doc/ex/channel.rb +0 -26
- data/doc/ex/charcoal.rb +0 -12
- data/doc/ex/chop.rb +0 -29
- data/doc/ex/circle.rb +0 -33
- data/doc/ex/circle01.rb +0 -17
- data/doc/ex/clip_path.rb +0 -60
- data/doc/ex/coalesce.rb +0 -60
- data/doc/ex/color_fill_to_border.rb +0 -29
- data/doc/ex/color_floodfill.rb +0 -28
- data/doc/ex/color_histogram.rb +0 -48
- data/doc/ex/color_reset.rb +0 -11
- data/doc/ex/colorize.rb +0 -16
- data/doc/ex/colors.rb +0 -64
- data/doc/ex/compose_mask.rb +0 -23
- data/doc/ex/composite.rb +0 -135
- data/doc/ex/composite_layers.rb +0 -53
- data/doc/ex/composite_tiled.rb +0 -23
- data/doc/ex/contrast.rb +0 -36
- data/doc/ex/crop.rb +0 -31
- data/doc/ex/crop_with_gravity.rb +0 -46
- data/doc/ex/cubic01.rb +0 -45
- data/doc/ex/cubic02.rb +0 -94
- data/doc/ex/cycle_colormap.rb +0 -21
- data/doc/ex/dissolve.rb +0 -13
- data/doc/ex/drawcomp.rb +0 -42
- data/doc/ex/drop_shadow.rb +0 -60
- data/doc/ex/edge.rb +0 -11
- data/doc/ex/ellipse.rb +0 -45
- data/doc/ex/ellipse01.rb +0 -22
- data/doc/ex/emboss.rb +0 -11
- data/doc/ex/enhance.rb +0 -28
- data/doc/ex/equalize.rb +0 -11
- data/doc/ex/evenodd.rb +0 -43
- data/doc/ex/fill_pattern.rb +0 -26
- data/doc/ex/flatten_images.rb +0 -36
- data/doc/ex/flip.rb +0 -11
- data/doc/ex/flop.rb +0 -11
- data/doc/ex/font_styles.rb +0 -34
- data/doc/ex/fonts.rb +0 -20
- data/doc/ex/frame.rb +0 -12
- data/doc/ex/gaussian_blur.rb +0 -11
- data/doc/ex/get_multiline_type_metrics.rb +0 -42
- data/doc/ex/get_pixels.rb +0 -48
- data/doc/ex/get_type_metrics.rb +0 -146
- data/doc/ex/gradientfill.rb +0 -27
- data/doc/ex/grav.rb +0 -46
- data/doc/ex/gravity.rb +0 -79
- data/doc/ex/group.rb +0 -26
- data/doc/ex/hatchfill.rb +0 -27
- data/doc/ex/image.rb +0 -46
- data/doc/ex/images/Apple.miff +0 -0
- data/doc/ex/images/Ballerina.jpg +0 -0
- data/doc/ex/images/Ballerina3.jpg +0 -0
- data/doc/ex/images/Button_0.gif +0 -0
- data/doc/ex/images/Button_1.gif +0 -0
- data/doc/ex/images/Button_2.gif +0 -0
- data/doc/ex/images/Button_3.gif +0 -0
- data/doc/ex/images/Button_4.gif +0 -0
- data/doc/ex/images/Button_5.gif +0 -0
- data/doc/ex/images/Button_6.gif +0 -0
- data/doc/ex/images/Button_7.gif +0 -0
- data/doc/ex/images/Button_8.gif +0 -0
- data/doc/ex/images/Button_9.gif +0 -0
- data/doc/ex/images/Button_A.gif +0 -0
- data/doc/ex/images/Button_B.gif +0 -0
- data/doc/ex/images/Button_C.gif +0 -0
- data/doc/ex/images/Button_D.gif +0 -0
- data/doc/ex/images/Button_E.gif +0 -0
- data/doc/ex/images/Button_F.gif +0 -0
- data/doc/ex/images/Button_G.gif +0 -0
- data/doc/ex/images/Button_H.gif +0 -0
- data/doc/ex/images/Button_I.gif +0 -0
- data/doc/ex/images/Button_J.gif +0 -0
- data/doc/ex/images/Button_K.gif +0 -0
- data/doc/ex/images/Button_L.gif +0 -0
- data/doc/ex/images/Button_M.gif +0 -0
- data/doc/ex/images/Button_N.gif +0 -0
- data/doc/ex/images/Button_O.gif +0 -0
- data/doc/ex/images/Button_P.gif +0 -0
- data/doc/ex/images/Button_Q.gif +0 -0
- data/doc/ex/images/Button_R.gif +0 -0
- data/doc/ex/images/Button_S.gif +0 -0
- data/doc/ex/images/Button_T.gif +0 -0
- data/doc/ex/images/Button_U.gif +0 -0
- data/doc/ex/images/Button_V.gif +0 -0
- data/doc/ex/images/Button_W.gif +0 -0
- data/doc/ex/images/Button_X.gif +0 -0
- data/doc/ex/images/Button_Y.gif +0 -0
- data/doc/ex/images/Button_Z.gif +0 -0
- data/doc/ex/images/Cheetah.jpg +0 -0
- data/doc/ex/images/Coffee.wmf +0 -0
- data/doc/ex/images/Flower_Hat.jpg +0 -0
- data/doc/ex/images/Gold_Statue.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
- data/doc/ex/images/Leaf.miff +0 -0
- data/doc/ex/images/No.wmf +0 -0
- data/doc/ex/images/Polynesia.jpg +0 -0
- data/doc/ex/images/Red_Rocks.jpg +0 -0
- data/doc/ex/images/Rocks_On_Beach.miff +0 -0
- data/doc/ex/images/Shorts.jpg +0 -0
- data/doc/ex/images/Snake.wmf +0 -0
- data/doc/ex/images/Violin.jpg +0 -0
- data/doc/ex/images/Yellow_Rose.miff +0 -0
- data/doc/ex/images/big-duck.gif +0 -0
- data/doc/ex/images/duck.gif +0 -0
- data/doc/ex/images/duck0.gif +0 -0
- data/doc/ex/images/duck1.gif +0 -0
- data/doc/ex/images/duck10.gif +0 -0
- data/doc/ex/images/duck11.gif +0 -0
- data/doc/ex/images/duck12.gif +0 -0
- data/doc/ex/images/duck13.gif +0 -0
- data/doc/ex/images/duck14.gif +0 -0
- data/doc/ex/images/duck15.gif +0 -0
- data/doc/ex/images/duck2.gif +0 -0
- data/doc/ex/images/duck3.gif +0 -0
- data/doc/ex/images/duck4.gif +0 -0
- data/doc/ex/images/duck5.gif +0 -0
- data/doc/ex/images/duck6.gif +0 -0
- data/doc/ex/images/duck7.gif +0 -0
- data/doc/ex/images/duck8.gif +0 -0
- data/doc/ex/images/duck9.gif +0 -0
- data/doc/ex/images/graydient230x6.gif +0 -0
- data/doc/ex/images/logo400x83.gif +0 -0
- data/doc/ex/images/model.miff +0 -0
- data/doc/ex/images/notimplemented.gif +0 -0
- data/doc/ex/images/smile.miff +0 -0
- data/doc/ex/images/spin.gif +0 -0
- data/doc/ex/implode.rb +0 -34
- data/doc/ex/level.rb +0 -11
- data/doc/ex/level_colors.rb +0 -11
- data/doc/ex/line.rb +0 -42
- data/doc/ex/line01.rb +0 -23
- data/doc/ex/mask.rb +0 -36
- data/doc/ex/matte_fill_to_border.rb +0 -40
- data/doc/ex/matte_floodfill.rb +0 -33
- data/doc/ex/matte_replace.rb +0 -40
- data/doc/ex/median_filter.rb +0 -28
- data/doc/ex/modulate.rb +0 -11
- data/doc/ex/mono.rb +0 -23
- data/doc/ex/morph.rb +0 -26
- data/doc/ex/mosaic.rb +0 -35
- data/doc/ex/motion_blur.rb +0 -11
- data/doc/ex/negate.rb +0 -11
- data/doc/ex/negate_channel.rb +0 -9
- data/doc/ex/nested_rvg.rb +0 -21
- data/doc/ex/nonzero.rb +0 -43
- data/doc/ex/normalize.rb +0 -11
- data/doc/ex/oil_paint.rb +0 -11
- data/doc/ex/opacity.rb +0 -37
- data/doc/ex/ordered_dither.rb +0 -11
- data/doc/ex/path.rb +0 -64
- data/doc/ex/pattern1.rb +0 -25
- data/doc/ex/pattern2.rb +0 -26
- data/doc/ex/polaroid.rb +0 -28
- data/doc/ex/polygon.rb +0 -24
- data/doc/ex/polygon01.rb +0 -23
- data/doc/ex/polyline.rb +0 -23
- data/doc/ex/polyline01.rb +0 -23
- data/doc/ex/posterize.rb +0 -8
- data/doc/ex/preview.rb +0 -9
- data/doc/ex/qbezierpath.rb +0 -52
- data/doc/ex/quad01.rb +0 -36
- data/doc/ex/quantize-m.rb +0 -25
- data/doc/ex/radial_blur.rb +0 -9
- data/doc/ex/raise.rb +0 -8
- data/doc/ex/random_threshold_channel.rb +0 -13
- data/doc/ex/rect01.rb +0 -15
- data/doc/ex/rect02.rb +0 -22
- data/doc/ex/rectangle.rb +0 -35
- data/doc/ex/reduce_noise.rb +0 -28
- data/doc/ex/remap.rb +0 -12
- data/doc/ex/remap_images.rb +0 -21
- data/doc/ex/resize_to_fill.rb +0 -10
- data/doc/ex/resize_to_fit.rb +0 -10
- data/doc/ex/roll.rb +0 -9
- data/doc/ex/rotate.rb +0 -45
- data/doc/ex/rotate_f.rb +0 -14
- data/doc/ex/roundrect.rb +0 -34
- data/doc/ex/rubyname.rb +0 -30
- data/doc/ex/rvg_clippath.rb +0 -14
- data/doc/ex/rvg_linecap.rb +0 -43
- data/doc/ex/rvg_linejoin.rb +0 -41
- data/doc/ex/rvg_opacity.rb +0 -19
- data/doc/ex/rvg_pattern.rb +0 -26
- data/doc/ex/rvg_stroke_dasharray.rb +0 -12
- data/doc/ex/segment.rb +0 -11
- data/doc/ex/sepiatone.rb +0 -8
- data/doc/ex/shade.rb +0 -11
- data/doc/ex/shadow.rb +0 -31
- data/doc/ex/shave.rb +0 -15
- data/doc/ex/shear.rb +0 -10
- data/doc/ex/sketch.rb +0 -18
- data/doc/ex/skewx.rb +0 -52
- data/doc/ex/skewy.rb +0 -47
- data/doc/ex/smile.rb +0 -125
- data/doc/ex/solarize.rb +0 -11
- data/doc/ex/sparse_color.rb +0 -55
- data/doc/ex/splice.rb +0 -9
- data/doc/ex/spread.rb +0 -11
- data/doc/ex/stegano.rb +0 -55
- data/doc/ex/stroke_dasharray.rb +0 -43
- data/doc/ex/stroke_fill.rb +0 -11
- data/doc/ex/stroke_linecap.rb +0 -44
- data/doc/ex/stroke_linejoin.rb +0 -48
- data/doc/ex/stroke_width.rb +0 -49
- data/doc/ex/swirl.rb +0 -17
- data/doc/ex/text.rb +0 -37
- data/doc/ex/text01.rb +0 -17
- data/doc/ex/text_align.rb +0 -36
- data/doc/ex/text_antialias.rb +0 -38
- data/doc/ex/text_styles.rb +0 -21
- data/doc/ex/text_undercolor.rb +0 -28
- data/doc/ex/texture_fill_to_border.rb +0 -34
- data/doc/ex/texture_floodfill.rb +0 -32
- data/doc/ex/texturefill.rb +0 -25
- data/doc/ex/threshold.rb +0 -13
- data/doc/ex/to_blob.rb +0 -14
- data/doc/ex/translate.rb +0 -39
- data/doc/ex/transparent.rb +0 -38
- data/doc/ex/transpose.rb +0 -9
- data/doc/ex/transverse.rb +0 -9
- data/doc/ex/tref01.rb +0 -25
- data/doc/ex/triangle01.rb +0 -16
- data/doc/ex/trim.rb +0 -24
- data/doc/ex/tspan01.rb +0 -18
- data/doc/ex/tspan02.rb +0 -19
- data/doc/ex/tspan03.rb +0 -21
- data/doc/ex/unsharp_mask.rb +0 -28
- data/doc/ex/viewex.rb +0 -35
- data/doc/ex/vignette.rb +0 -12
- data/doc/ex/watermark.rb +0 -28
- data/doc/ex/wave.rb +0 -9
- data/doc/ex/wet_floor.rb +0 -59
- data/doc/ex/writing_mode01.rb +0 -27
- data/doc/ex/writing_mode02.rb +0 -26
- data/doc/ilist.html +0 -2056
- data/doc/image1.html +0 -4680
- data/doc/image2.html +0 -3665
- data/doc/image3.html +0 -4522
- data/doc/imageattrs.html +0 -1638
- data/doc/imusage.html +0 -514
- data/doc/index.html +0 -416
- data/doc/info.html +0 -1499
- data/doc/magick.html +0 -565
- data/doc/optequiv.html +0 -2435
- data/doc/rvg.html +0 -975
- data/doc/rvgclip.html +0 -248
- data/doc/rvggroup.html +0 -305
- data/doc/rvgimage.html +0 -289
- data/doc/rvgpattern.html +0 -475
- data/doc/rvgshape.html +0 -406
- data/doc/rvgstyle.html +0 -270
- data/doc/rvgtext.html +0 -465
- data/doc/rvgtspan.html +0 -238
- data/doc/rvgtut.html +0 -530
- data/doc/rvguse.html +0 -145
- data/doc/rvgxform.html +0 -294
- data/doc/scripts/doc.js +0 -22
- data/doc/scripts/stripeTables.js +0 -23
- data/doc/struct.html +0 -1339
- data/doc/usage.html +0 -1621
- data/examples/constitute.rb +0 -7
- data/examples/crop_with_gravity.rb +0 -46
- data/examples/demo.rb +0 -324
- data/examples/describe.rb +0 -44
- data/examples/find_similar_region.rb +0 -34
- data/examples/histogram.rb +0 -325
- data/examples/identify.rb +0 -187
- data/examples/image_opacity.rb +0 -29
- data/examples/import_export.rb +0 -31
- data/examples/pattern_fill.rb +0 -38
- data/examples/rotating_text.rb +0 -45
- data/examples/spinner.rb +0 -50
- data/examples/thumbnail.rb +0 -65
- data/examples/vignette.rb +0 -79
- data/ext/RMagick/MANIFEST +0 -358
- data/lib/RMagick.rb +0 -1962
- data/metaconfig +0 -7
- data/post-clean.rb +0 -12
- data/post-install.rb +0 -50
- data/post-setup.rb +0 -254
- data/setup.rb +0 -1585
- data/uninstall.rb +0 -76
data/ext/RMagick/rmmontage.c
CHANGED
@@ -41,7 +41,7 @@ destroy_Montage(void *obj)
|
|
41
41
|
}
|
42
42
|
if (montage->info)
|
43
43
|
{
|
44
|
-
|
44
|
+
DestroyMontageInfo(montage->info);
|
45
45
|
montage->info = NULL;
|
46
46
|
}
|
47
47
|
xfree(montage);
|
@@ -51,11 +51,7 @@ destroy_Montage(void *obj)
|
|
51
51
|
/**
|
52
52
|
* Create a new Montage object.
|
53
53
|
*
|
54
|
-
*
|
55
|
-
* - @verbatim Montage.new @endverbatim
|
56
|
-
*
|
57
|
-
* @param class the Ruby class to use
|
58
|
-
* @return a new Montage object
|
54
|
+
* @return [Magick::ImageList::Montage] a new Montage object
|
59
55
|
*/
|
60
56
|
VALUE
|
61
57
|
Montage_alloc(VALUE class)
|
@@ -63,7 +59,7 @@ Montage_alloc(VALUE class)
|
|
63
59
|
MontageInfo *montage_info;
|
64
60
|
Montage *montage;
|
65
61
|
Info *image_info;
|
66
|
-
|
62
|
+
VALUE montage_obj;
|
67
63
|
|
68
64
|
// DO NOT call rm_info_new - we don't want to support an Info parm block.
|
69
65
|
image_info = CloneImageInfo(NULL);
|
@@ -73,7 +69,7 @@ Montage_alloc(VALUE class)
|
|
73
69
|
}
|
74
70
|
|
75
71
|
montage_info = CloneMontageInfo(image_info, NULL);
|
76
|
-
(void)
|
72
|
+
(void) DestroyImageInfo(image_info);
|
77
73
|
|
78
74
|
if (!montage_info)
|
79
75
|
{
|
@@ -85,6 +81,8 @@ Montage_alloc(VALUE class)
|
|
85
81
|
montage->compose = OverCompositeOp;
|
86
82
|
montage_obj = Data_Wrap_Struct(class, NULL, destroy_Montage, montage);
|
87
83
|
|
84
|
+
RB_GC_GUARD(montage_obj);
|
85
|
+
|
88
86
|
return montage_obj;
|
89
87
|
}
|
90
88
|
|
@@ -92,12 +90,8 @@ Montage_alloc(VALUE class)
|
|
92
90
|
/**
|
93
91
|
* Set background_color value.
|
94
92
|
*
|
95
|
-
*
|
96
|
-
*
|
97
|
-
*
|
98
|
-
* @param self this object
|
99
|
-
* @param color the color name
|
100
|
-
* @return self
|
93
|
+
* @param color [Magick::Pixel, String] the color name
|
94
|
+
* @return [Magick::Pixel, String] the given color name
|
101
95
|
*/
|
102
96
|
VALUE
|
103
97
|
Montage_background_color_eq(VALUE self, VALUE color)
|
@@ -105,20 +99,16 @@ Montage_background_color_eq(VALUE self, VALUE color)
|
|
105
99
|
Montage *montage;
|
106
100
|
|
107
101
|
Data_Get_Struct(self, Montage, montage);
|
108
|
-
|
109
|
-
return
|
102
|
+
Color_to_PixelColor(&montage->info->background_color, color);
|
103
|
+
return color;
|
110
104
|
}
|
111
105
|
|
112
106
|
|
113
107
|
/**
|
114
108
|
* Set border_color value.
|
115
109
|
*
|
116
|
-
*
|
117
|
-
*
|
118
|
-
*
|
119
|
-
* @param self this object
|
120
|
-
* @param color the color name
|
121
|
-
* @return self
|
110
|
+
* @param color [Magick::Pixel, String] the color name
|
111
|
+
* @return [Magick::Pixel, String] the given color name
|
122
112
|
*/
|
123
113
|
VALUE
|
124
114
|
Montage_border_color_eq(VALUE self, VALUE color)
|
@@ -126,20 +116,16 @@ Montage_border_color_eq(VALUE self, VALUE color)
|
|
126
116
|
Montage *montage;
|
127
117
|
|
128
118
|
Data_Get_Struct(self, Montage, montage);
|
129
|
-
|
130
|
-
return
|
119
|
+
Color_to_PixelColor(&montage->info->border_color, color);
|
120
|
+
return color;
|
131
121
|
}
|
132
122
|
|
133
123
|
|
134
124
|
/**
|
135
125
|
* Set border_width value.
|
136
126
|
*
|
137
|
-
*
|
138
|
-
*
|
139
|
-
*
|
140
|
-
* @param self this object
|
141
|
-
* @param width the width
|
142
|
-
* @return self
|
127
|
+
* @param width [Numeric] the width
|
128
|
+
* @return [Numeric] the given width
|
143
129
|
*/
|
144
130
|
VALUE
|
145
131
|
Montage_border_width_eq(VALUE self, VALUE width)
|
@@ -148,19 +134,15 @@ Montage_border_width_eq(VALUE self, VALUE width)
|
|
148
134
|
|
149
135
|
Data_Get_Struct(self, Montage, montage);
|
150
136
|
montage->info->border_width = NUM2ULONG(width);
|
151
|
-
return
|
137
|
+
return width;
|
152
138
|
}
|
153
139
|
|
154
140
|
|
155
141
|
/**
|
156
142
|
* Set a composition operator.
|
157
143
|
*
|
158
|
-
*
|
159
|
-
*
|
160
|
-
*
|
161
|
-
* @param self this object
|
162
|
-
* @param compose the composition operator
|
163
|
-
* @return self
|
144
|
+
* @param compose [Magick::CompositeOperator] the composition operator
|
145
|
+
* @return [Magick::CompositeOperator] the given compose operator
|
164
146
|
*/
|
165
147
|
VALUE
|
166
148
|
Montage_compose_eq(VALUE self, VALUE compose)
|
@@ -169,19 +151,15 @@ Montage_compose_eq(VALUE self, VALUE compose)
|
|
169
151
|
|
170
152
|
Data_Get_Struct(self, Montage, montage);
|
171
153
|
VALUE_TO_ENUM(compose, montage->compose, CompositeOperator);
|
172
|
-
return
|
154
|
+
return compose;
|
173
155
|
}
|
174
156
|
|
175
157
|
|
176
158
|
/**
|
177
159
|
* Set filename value.
|
178
160
|
*
|
179
|
-
*
|
180
|
-
*
|
181
|
-
*
|
182
|
-
* @param self this object
|
183
|
-
* @param filename the filename
|
184
|
-
* @return self
|
161
|
+
* @param filename [String] the filename
|
162
|
+
* @return [String] filename
|
185
163
|
*/
|
186
164
|
VALUE
|
187
165
|
Montage_filename_eq(VALUE self, VALUE filename)
|
@@ -189,20 +167,16 @@ Montage_filename_eq(VALUE self, VALUE filename)
|
|
189
167
|
Montage *montage;
|
190
168
|
|
191
169
|
Data_Get_Struct(self, Montage, montage);
|
192
|
-
|
193
|
-
return
|
170
|
+
strlcpy(montage->info->filename, StringValueCStr(filename), sizeof(montage->info->filename));
|
171
|
+
return filename;
|
194
172
|
}
|
195
173
|
|
196
174
|
|
197
175
|
/**
|
198
176
|
* Set fill value.
|
199
177
|
*
|
200
|
-
*
|
201
|
-
*
|
202
|
-
*
|
203
|
-
* @param self this object
|
204
|
-
* @param color the color name
|
205
|
-
* @return self
|
178
|
+
* @param color [Magick::Pixel, String] the color name
|
179
|
+
* @return [Magick::Pixel, String] the given color name
|
206
180
|
*/
|
207
181
|
VALUE
|
208
182
|
Montage_fill_eq(VALUE self, VALUE color)
|
@@ -210,20 +184,16 @@ Montage_fill_eq(VALUE self, VALUE color)
|
|
210
184
|
Montage *montage;
|
211
185
|
|
212
186
|
Data_Get_Struct(self, Montage, montage);
|
213
|
-
|
214
|
-
return
|
187
|
+
Color_to_PixelColor(&montage->info->fill, color);
|
188
|
+
return color;
|
215
189
|
}
|
216
190
|
|
217
191
|
|
218
192
|
/**
|
219
193
|
* Set font value.
|
220
194
|
*
|
221
|
-
*
|
222
|
-
*
|
223
|
-
*
|
224
|
-
* @param self this object
|
225
|
-
* @param font the font name
|
226
|
-
* @return self
|
195
|
+
* @param font [String] the font name
|
196
|
+
* @return [String] the given font name
|
227
197
|
*/
|
228
198
|
VALUE
|
229
199
|
Montage_font_eq(VALUE self, VALUE font)
|
@@ -231,74 +201,70 @@ Montage_font_eq(VALUE self, VALUE font)
|
|
231
201
|
Montage *montage;
|
232
202
|
|
233
203
|
Data_Get_Struct(self, Montage, montage);
|
234
|
-
magick_clone_string(&montage->info->font,
|
204
|
+
magick_clone_string(&montage->info->font, StringValueCStr(font));
|
235
205
|
|
236
|
-
return
|
206
|
+
return font;
|
237
207
|
}
|
238
208
|
|
239
209
|
|
240
210
|
/**
|
241
211
|
* Set frame value.
|
242
212
|
*
|
243
|
-
*
|
244
|
-
*
|
245
|
-
*
|
246
|
-
* Notes:
|
247
|
-
* - The geometry is a string in the form:
|
248
|
-
* @verbatim <width>x<height>+<outer-bevel-width>+<inner-bevel-width> @endverbatim
|
249
|
-
* or a Geometry object
|
213
|
+
* - The geometry is a string in the form:
|
214
|
+
* <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
|
215
|
+
* or a Geometry object
|
250
216
|
*
|
251
|
-
* @param
|
252
|
-
* @
|
253
|
-
* @return self
|
217
|
+
* @param frame_arg [String] the frame geometry
|
218
|
+
* @see https://www.imagemagick.org/Magick++/Geometry.html
|
254
219
|
*/
|
255
220
|
VALUE
|
256
221
|
Montage_frame_eq(VALUE self, VALUE frame_arg)
|
257
222
|
{
|
258
223
|
Montage *montage;
|
259
|
-
|
224
|
+
VALUE frame;
|
260
225
|
|
261
226
|
Data_Get_Struct(self, Montage, montage);
|
262
|
-
frame =
|
263
|
-
magick_clone_string(&montage->info->frame,
|
227
|
+
frame = rb_String(frame_arg);
|
228
|
+
magick_clone_string(&montage->info->frame, StringValueCStr(frame));
|
264
229
|
|
265
|
-
|
230
|
+
RB_GC_GUARD(frame);
|
231
|
+
|
232
|
+
return frame_arg;
|
266
233
|
}
|
267
234
|
|
268
235
|
|
269
236
|
/**
|
270
237
|
* Set geometry value.
|
271
238
|
*
|
272
|
-
*
|
273
|
-
*
|
239
|
+
* - The geometry is a string in the form:
|
240
|
+
* <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
|
241
|
+
* or a Geometry object
|
274
242
|
*
|
275
|
-
* @param
|
276
|
-
* @
|
277
|
-
* @
|
243
|
+
* @param geometry_arg [String] the geometry
|
244
|
+
* @return [String] the given geometry
|
245
|
+
* @see https://www.imagemagick.org/Magick++/Geometry.html
|
278
246
|
*/
|
279
247
|
VALUE
|
280
248
|
Montage_geometry_eq(VALUE self, VALUE geometry_arg)
|
281
249
|
{
|
282
250
|
Montage *montage;
|
283
|
-
|
251
|
+
VALUE geometry;
|
284
252
|
|
285
253
|
Data_Get_Struct(self, Montage, montage);
|
286
|
-
geometry =
|
287
|
-
magick_clone_string(&montage->info->geometry,
|
254
|
+
geometry = rb_String(geometry_arg);
|
255
|
+
magick_clone_string(&montage->info->geometry, StringValueCStr(geometry));
|
288
256
|
|
289
|
-
|
257
|
+
RB_GC_GUARD(geometry);
|
258
|
+
|
259
|
+
return geometry_arg;
|
290
260
|
}
|
291
261
|
|
292
262
|
|
293
263
|
/**
|
294
264
|
* Set gravity value.
|
295
265
|
*
|
296
|
-
*
|
297
|
-
*
|
298
|
-
*
|
299
|
-
* @param self this object
|
300
|
-
* @param gravity the gravity type
|
301
|
-
* @return self
|
266
|
+
* @param gravity [Magick::GravityType] the gravity type
|
267
|
+
* @return [Magick::GravityType] the given gravity
|
302
268
|
*/
|
303
269
|
VALUE
|
304
270
|
Montage_gravity_eq(VALUE self, VALUE gravity)
|
@@ -307,18 +273,14 @@ Montage_gravity_eq(VALUE self, VALUE gravity)
|
|
307
273
|
|
308
274
|
Data_Get_Struct(self, Montage, montage);
|
309
275
|
VALUE_TO_ENUM(gravity, montage->info->gravity, GravityType);
|
310
|
-
return
|
276
|
+
return gravity;
|
311
277
|
}
|
312
278
|
|
313
279
|
|
314
280
|
/**
|
315
281
|
* Initialize a Montage object. Does nothing currently.
|
316
282
|
*
|
317
|
-
*
|
318
|
-
* - @verbatim Magick::Montage#initialize @endverbatim
|
319
|
-
*
|
320
|
-
* @param self this object
|
321
|
-
* @return self
|
283
|
+
* @return [Magick::ImageList::Montage] self
|
322
284
|
*/
|
323
285
|
VALUE
|
324
286
|
Montage_initialize(VALUE self)
|
@@ -331,12 +293,8 @@ Montage_initialize(VALUE self)
|
|
331
293
|
/**
|
332
294
|
* Set matte_color value.
|
333
295
|
*
|
334
|
-
*
|
335
|
-
*
|
336
|
-
*
|
337
|
-
* @param self this object
|
338
|
-
* @param color the color name
|
339
|
-
* @return self
|
296
|
+
* @param color [Magick::Pixel, String] the color name
|
297
|
+
* @return [Magick::Pixel, String] the given color name
|
340
298
|
*/
|
341
299
|
VALUE
|
342
300
|
Montage_matte_color_eq(VALUE self, VALUE color)
|
@@ -344,20 +302,16 @@ Montage_matte_color_eq(VALUE self, VALUE color)
|
|
344
302
|
Montage *montage;
|
345
303
|
|
346
304
|
Data_Get_Struct(self, Montage, montage);
|
347
|
-
|
348
|
-
return
|
305
|
+
Color_to_PixelColor(&montage->info->matte_color, color);
|
306
|
+
return color;
|
349
307
|
}
|
350
308
|
|
351
309
|
|
352
310
|
/**
|
353
311
|
* Set pointsize value.
|
354
312
|
*
|
355
|
-
*
|
356
|
-
*
|
357
|
-
*
|
358
|
-
* @param self this object
|
359
|
-
* @param size the point size
|
360
|
-
* @return self
|
313
|
+
* @param size [Numeric] the point size
|
314
|
+
* @return [Numeric] the given point size
|
361
315
|
*/
|
362
316
|
VALUE
|
363
317
|
Montage_pointsize_eq(VALUE self, VALUE size)
|
@@ -366,19 +320,15 @@ Montage_pointsize_eq(VALUE self, VALUE size)
|
|
366
320
|
|
367
321
|
Data_Get_Struct(self, Montage, montage);
|
368
322
|
montage->info->pointsize = NUM2DBL(size);
|
369
|
-
return
|
323
|
+
return size;
|
370
324
|
}
|
371
325
|
|
372
326
|
|
373
327
|
/**
|
374
328
|
* Set shadow value.
|
375
329
|
*
|
376
|
-
*
|
377
|
-
*
|
378
|
-
*
|
379
|
-
* @param self this object
|
380
|
-
* @param shadow the shadow
|
381
|
-
* @return self
|
330
|
+
* @param shadow [Bool] true if the shadow will be enabled
|
331
|
+
* @return [Bool] the given value
|
382
332
|
*/
|
383
333
|
VALUE
|
384
334
|
Montage_shadow_eq(VALUE self, VALUE shadow)
|
@@ -387,19 +337,15 @@ Montage_shadow_eq(VALUE self, VALUE shadow)
|
|
387
337
|
|
388
338
|
Data_Get_Struct(self, Montage, montage);
|
389
339
|
montage->info->shadow = (MagickBooleanType) RTEST(shadow);
|
390
|
-
return
|
340
|
+
return shadow;
|
391
341
|
}
|
392
342
|
|
393
343
|
|
394
344
|
/**
|
395
345
|
* Set stroke value.
|
396
346
|
*
|
397
|
-
*
|
398
|
-
*
|
399
|
-
*
|
400
|
-
* @param self this object
|
401
|
-
* @param color the color name
|
402
|
-
* @return self
|
347
|
+
* @param color [Magick::Pixel, String] the color name
|
348
|
+
* @return [Magick::Pixel, String] the given color name
|
403
349
|
*/
|
404
350
|
VALUE
|
405
351
|
Montage_stroke_eq(VALUE self, VALUE color)
|
@@ -407,20 +353,17 @@ Montage_stroke_eq(VALUE self, VALUE color)
|
|
407
353
|
Montage *montage;
|
408
354
|
|
409
355
|
Data_Get_Struct(self, Montage, montage);
|
410
|
-
|
411
|
-
return
|
356
|
+
Color_to_PixelColor(&montage->info->stroke, color);
|
357
|
+
return color;
|
412
358
|
}
|
413
359
|
|
414
360
|
|
415
361
|
/**
|
416
362
|
* Set texture value.
|
417
363
|
*
|
418
|
-
*
|
419
|
-
*
|
420
|
-
*
|
421
|
-
* @param self this object
|
422
|
-
* @param texture the texture image
|
423
|
-
* @return self
|
364
|
+
* @param texture [Magick::Image, Magick::ImageList] Either an imagelist or an image. If an
|
365
|
+
* imagelist, uses the current image.
|
366
|
+
* @return [Magick::Image] the given texture image
|
424
367
|
*/
|
425
368
|
VALUE
|
426
369
|
Montage_texture_eq(VALUE self, VALUE texture)
|
@@ -444,46 +387,45 @@ Montage_texture_eq(VALUE self, VALUE texture)
|
|
444
387
|
texture_image = rm_check_destroyed(texture);
|
445
388
|
|
446
389
|
// Write a temp copy of the image & save its name.
|
447
|
-
rm_write_temp_image(texture_image, temp_name);
|
390
|
+
rm_write_temp_image(texture_image, temp_name, sizeof(temp_name));
|
448
391
|
magick_clone_string(&montage->info->texture, temp_name);
|
449
392
|
|
450
|
-
return
|
393
|
+
return texture;
|
451
394
|
}
|
452
395
|
|
453
396
|
|
454
397
|
/**
|
455
398
|
* Set tile value.
|
456
399
|
*
|
457
|
-
*
|
458
|
-
*
|
400
|
+
* - The geometry is a string in the form:
|
401
|
+
* <width>x<height>+<outer-bevel-width>+<inner-bevel-width>
|
402
|
+
* or a Geometry object
|
459
403
|
*
|
460
|
-
* @param
|
461
|
-
* @
|
462
|
-
* @
|
404
|
+
* @param tile_arg [String] the tile geometry
|
405
|
+
* @return [String] the given tile geometry
|
406
|
+
* @see https://www.imagemagick.org/Magick++/Geometry.html
|
463
407
|
*/
|
464
408
|
VALUE
|
465
409
|
Montage_tile_eq(VALUE self, VALUE tile_arg)
|
466
410
|
{
|
467
411
|
Montage *montage;
|
468
|
-
|
412
|
+
VALUE tile;
|
469
413
|
|
470
414
|
Data_Get_Struct(self, Montage, montage);
|
471
|
-
tile =
|
472
|
-
magick_clone_string(&montage->info->tile,
|
415
|
+
tile = rb_String(tile_arg);
|
416
|
+
magick_clone_string(&montage->info->tile, StringValueCStr(tile));
|
473
417
|
|
474
|
-
|
418
|
+
RB_GC_GUARD(tile);
|
419
|
+
|
420
|
+
return tile_arg;
|
475
421
|
}
|
476
422
|
|
477
423
|
|
478
424
|
/**
|
479
425
|
* Set title value.
|
480
426
|
*
|
481
|
-
*
|
482
|
-
*
|
483
|
-
*
|
484
|
-
* @param self this object
|
485
|
-
* @param title the title
|
486
|
-
* @return self
|
427
|
+
* @param title [String] the title
|
428
|
+
* @return [String] the given title
|
487
429
|
*/
|
488
430
|
VALUE
|
489
431
|
Montage_title_eq(VALUE self, VALUE title)
|
@@ -491,8 +433,8 @@ Montage_title_eq(VALUE self, VALUE title)
|
|
491
433
|
Montage *montage;
|
492
434
|
|
493
435
|
Data_Get_Struct(self, Montage, montage);
|
494
|
-
magick_clone_string(&montage->info->title,
|
495
|
-
return
|
436
|
+
magick_clone_string(&montage->info->title, StringValueCStr(title));
|
437
|
+
return title;
|
496
438
|
}
|
497
439
|
|
498
440
|
|