STL.cpp revision 4c08aed51c5899665ade97263692328eea4af106
1ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// This may look like C code, but it is really -*- C++ -*-
2ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj//
3752f90673ebbb6b2f55fc5e46606dea371313713sewardj// Copyright Bob Friesenhahn, 1999, 2002
4ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj//
5ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// Implementation of STL classes and functions
6f8ed9d874a7b8651654591c68c6d431c758d787csewardj//
7752f90673ebbb6b2f55fc5e46606dea371313713sewardj
8752f90673ebbb6b2f55fc5e46606dea371313713sewardj#define MAGICKCORE_IMPLEMENTATION  1
9f8ed9d874a7b8651654591c68c6d431c758d787csewardj#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
10752f90673ebbb6b2f55fc5e46606dea371313713sewardj
11752f90673ebbb6b2f55fc5e46606dea371313713sewardj#include <Magick++/Image.h>
127bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj#include <Magick++/STL.h>
13752f90673ebbb6b2f55fc5e46606dea371313713sewardj
14752f90673ebbb6b2f55fc5e46606dea371313713sewardj// Adaptive-blur image with specified blur factor
15752f90673ebbb6b2f55fc5e46606dea371313713sewardjMagick::adaptiveBlurImage::adaptiveBlurImage( const double radius_,
16752f90673ebbb6b2f55fc5e46606dea371313713sewardj      const double sigma_  )
177bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj      : _radius( radius_ ),
18752f90673ebbb6b2f55fc5e46606dea371313713sewardj        _sigma( sigma_ )
19752f90673ebbb6b2f55fc5e46606dea371313713sewardj{
20752f90673ebbb6b2f55fc5e46606dea371313713sewardj}
21752f90673ebbb6b2f55fc5e46606dea371313713sewardjvoid Magick::adaptiveBlurImage::operator()( Magick::Image &image_ ) const
22752f90673ebbb6b2f55fc5e46606dea371313713sewardj{
23752f90673ebbb6b2f55fc5e46606dea371313713sewardj  image_.adaptiveBlur( _radius, _sigma );
24752f90673ebbb6b2f55fc5e46606dea371313713sewardj}
25752f90673ebbb6b2f55fc5e46606dea371313713sewardj
267bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj// Local adaptive threshold image
277bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardjMagick::adaptiveThresholdImage::adaptiveThresholdImage( const size_t width_,
28752f90673ebbb6b2f55fc5e46606dea371313713sewardj                                                        const size_t height_,
29f8ed9d874a7b8651654591c68c6d431c758d787csewardj                                                        const ssize_t offset_ )
30f8ed9d874a7b8651654591c68c6d431c758d787csewardj      : _width(width_),
31f8ed9d874a7b8651654591c68c6d431c758d787csewardj        _height(height_),
32f8ed9d874a7b8651654591c68c6d431c758d787csewardj        _offset(offset_)
33f8ed9d874a7b8651654591c68c6d431c758d787csewardj{
34f8ed9d874a7b8651654591c68c6d431c758d787csewardj}
35f8ed9d874a7b8651654591c68c6d431c758d787csewardjvoid Magick::adaptiveThresholdImage::operator()( Magick::Image &image_ ) const
36887a11a609f3e61d2ae8fe4e67f176207715da7esewardj{
37887a11a609f3e61d2ae8fe4e67f176207715da7esewardj  image_.adaptiveThreshold( _width, _height, _offset );
38ac9af021b93dfe6f35c01d9c6fd15a3d67685843sewardj}
39887a11a609f3e61d2ae8fe4e67f176207715da7esewardj
40ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// Add noise to image with specified noise type
4157c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::addNoiseImage::addNoiseImage( Magick::NoiseType noiseType_ )
42ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj  : _noiseType( noiseType_ )
4357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
4457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
4557c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::addNoiseImage::operator()( Magick::Image &image_ ) const
4657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
4757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.addNoise( _noiseType );
4857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
4957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
5057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Transform image by specified affine (or free transform) matrix.
5157c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::affineTransformImage::affineTransformImage( const DrawableAffine &affine_  )
5257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _affine( affine_ )
53dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj{
54dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj}
55dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjvoid Magick::affineTransformImage::operator()( Magick::Image &image_ ) const
56dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj{
5757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.affineTransform( _affine );
58dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj}
5957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
60dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Annotate image (draw text on image)
6157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
62dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Annotate using specified text, and placement location
63dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::annotateImage::annotateImage ( const std::string &text_,
64dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj                                       const Magick::Geometry &geometry_ )
65dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj      : _text( text_ ),
6657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj	_geometry( geometry_ ),
6757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj	_gravity( Magick::NorthWestGravity ),
6857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _degrees( 0 )
6957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
7057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
7157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Annotate using specified text, bounding area, and placement gravity
7257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::annotateImage::annotateImage ( const std::string &text_,
7357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                       const Magick::Geometry &geometry_,
7457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                       const Magick::GravityType gravity_ )
7557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _text( text_ ),
7657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _geometry( geometry_ ),
7757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _gravity( gravity_ ),
7857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _degrees( 0 )
7957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
8057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
8157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Annotate with text using specified text, bounding area, placement
8257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// gravity, and rotation.
8357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::annotateImage::annotateImage ( const std::string &text_,
8457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                    const Magick::Geometry &geometry_,
8557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                    const Magick::GravityType gravity_,
8657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                    const double degrees_ )
8757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj      : _text( text_ ),
8857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _geometry( geometry_ ),
8957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _gravity( gravity_ ),
9057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _degrees( degrees_ )
9157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
9257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
93dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Annotate with text (bounding area is entire image) and placement
94dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// gravity.
95dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::annotateImage::annotateImage ( const std::string &text_,
96dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj                                       const Magick::GravityType gravity_ )
97dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  : _text( text_ ),
9857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _geometry( ),
9957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _gravity( gravity_ ),
10057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _degrees( 0 )
10157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
10257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
10357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::annotateImage::operator()( Magick::Image &image_ ) const
10457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
10557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.annotate( _text, _geometry, _gravity, _degrees );
10657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
1072f10aa6f4e9ea78030c46cce9b073b19c63c0f60sewardj
10857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Blur image with specified blur factor
10957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::blurImage::blurImage( const double radius_, const double sigma_  )
11057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj      : _radius( radius_ ),
11157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _sigma( sigma_ )
11257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
11357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
11457c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::blurImage::operator()( Magick::Image &image_ ) const
11557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
11657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.blur( _radius, _sigma );
11757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
11857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
11957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Border image (add border to image)
12057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::borderImage::borderImage( const Magick::Geometry &geometry_ )
12157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _geometry( geometry_ )
12257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
12357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
12457c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::borderImage::operator()( Magick::Image &image_ ) const
12557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
12657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.border( _geometry );
12757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
12857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
12957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Extract channel from image
13057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::channelImage::channelImage( const Magick::ChannelType channel_ )
13157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _channel( channel_ )
13257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
13357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
13457c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::channelImage::operator()( Magick::Image &image_ ) const
13557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
13657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.channel( _channel );
13757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
13857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
13957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Charcoal effect image (looks like charcoal sketch)
14057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::charcoalImage::charcoalImage( const double radius_, const double sigma_ )
14157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj      : _radius( radius_ ),
14257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj        _sigma( sigma_ )
14357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
14457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
14557c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::charcoalImage::operator()( Magick::Image &image_ ) const
14657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
14757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.charcoal( _radius, _sigma );
14857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
14957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1502f10aa6f4e9ea78030c46cce9b073b19c63c0f60sewardj// Chop image (remove vertical or horizontal subregion of image)
15157c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::chopImage::chopImage( const Magick::Geometry &geometry_ )
15257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _geometry( geometry_ )
15357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
15457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
15557c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::chopImage::operator()( Magick::Image &image_ ) const
15657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
15757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.chop( _geometry );
15857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
15957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
16057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// accepts a lightweight Color Correction Collection (CCC) file which solely
16157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// contains one or more color corrections and applies the correction to the
16257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// image.
16357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::cdlImage::cdlImage( const std::string &cdl_ )
16457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _cdl ( cdl_ )
16557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
16657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
16757c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::cdlImage::operator()( Image &image_ ) const
16857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
16957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.cdl( _cdl.c_str() );
170dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj}
17157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
17257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Colorize image using pen color at specified percent alpha
17357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::colorizeImage::colorizeImage( const unsigned int alphaRed_,
17457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                      const unsigned int alphaGreen_,
17557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                      const unsigned int alphaBlue_,
17657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                      const Magick::Color &penColor_ )
17757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _alphaRed ( alphaRed_ ),
17857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _alphaGreen ( alphaGreen_ ),
17957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _alphaBlue ( alphaBlue_ ),
18057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _penColor( penColor_ )
18157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
18257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
18357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::colorizeImage::colorizeImage( const unsigned int alpha_,
18457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                      const Magick::Color &penColor_ )
18557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _alphaRed ( alpha_ ),
18657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _alphaGreen ( alpha_ ),
18757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _alphaBlue ( alpha_ ),
188ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj    _penColor( penColor_ )
189ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj{
190ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj}
191496a58d130a28ac3a5ba33c9012dabbe61dc852csewardjvoid Magick::colorizeImage::operator()( Magick::Image &image_ ) const
192496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj{
193496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj  image_.colorize( _alphaRed, _alphaGreen, _alphaBlue, _penColor );
194496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj}
195496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj
196496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj// Apply a color matrix to the image channels.  The user supplied
197496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj// matrix may be of order 1 to 5 (1x1 through 5x5).
198496a58d130a28ac3a5ba33c9012dabbe61dc852csewardjMagick::colorMatrixImage::colorMatrixImage( const size_t order_,
199496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj              const double *color_matrix_ )
200496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj  : _order( order_ ),
201496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj    _color_matrix( color_matrix_ )
202496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj{
203496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj}
204dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjvoid Magick::colorMatrixImage::operator()( Image &image_ ) const
205496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj{
206f6c8ebf1294fea43756683ba7089b746168abb8esewardj  image_.colorMatrix( _order, _color_matrix );
207f6c8ebf1294fea43756683ba7089b746168abb8esewardj}
208496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj
209dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Convert the image colorspace representation
210496a58d130a28ac3a5ba33c9012dabbe61dc852csewardjMagick::colorSpaceImage::colorSpaceImage( Magick::ColorspaceType colorSpace_ )
211f6c8ebf1294fea43756683ba7089b746168abb8esewardj  : _colorSpace( colorSpace_ )
212f6c8ebf1294fea43756683ba7089b746168abb8esewardj{
213496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj}
214496a58d130a28ac3a5ba33c9012dabbe61dc852csewardjvoid Magick::colorSpaceImage::operator()( Magick::Image &image_ ) const
215c97096c44637ae5775ed305b19f16f0b505f17d8sewardj{
216e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj  image_.colorSpace( _colorSpace );
21757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
21857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
219e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj// Comment image (add comment string to image)
220c9a43665879a03886b27a65b68af2a2c11b04f59sewardjMagick::commentImage::commentImage( const std::string &comment_ )
221c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj  : _comment( comment_ )
222c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj{
223c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
224c9a43665879a03886b27a65b68af2a2c11b04f59sewardjvoid Magick::commentImage::operator()( Magick::Image &image_ ) const
225c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
226c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  image_.comment( _comment );
2279b96767debeeb1f78378f0e7e295fe6762c64002sewardj}
228c9a43665879a03886b27a65b68af2a2c11b04f59sewardj
229c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Compose an image onto another at specified offset and using
2302019a976f07ff418dde2dfc7cc74667ef66d7764sewardj// specified algorithm
231c9a43665879a03886b27a65b68af2a2c11b04f59sewardjMagick::compositeImage::compositeImage( const Magick::Image &compositeImage_,
232d1725d18b61bf7912a9099686179faef5815dba1sewardj                                        ssize_t xOffset_,
233e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj                                        ssize_t yOffset_,
234e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj                                        Magick::CompositeOperator compose_  )
23557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _compositeImage( compositeImage_ ),
23635421a3cfd43bc829d27ee15bd34bbc7cb690805sewardj    _xOffset ( xOffset_ ),
23757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _yOffset ( yOffset_ ),
23857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _compose ( compose_ )
23957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
240c97096c44637ae5775ed305b19f16f0b505f17d8sewardj}
241e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardjMagick::compositeImage::compositeImage( const Magick::Image &compositeImage_,
242af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj                                        const Magick::Geometry &offset_,
243af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj                                        Magick::CompositeOperator compose_  )
24457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _compositeImage( compositeImage_ ),
245af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj    _xOffset ( offset_.xOff() ),
246af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj    _yOffset ( offset_.yOff() ),
247c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj    _compose ( compose_ )
248c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj{
249af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj}
250af1cecaf9c96f99381dda16f41d286fc3e4d220asewardjvoid Magick::compositeImage::operator()( Image &image_ ) const
251af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj{
252af1cecaf9c96f99381dda16f41d286fc3e4d220asewardj  image_.composite( _compositeImage, _xOffset, _yOffset, _compose );
253c97096c44637ae5775ed305b19f16f0b505f17d8sewardj}
254ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj
25557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Contrast image (enhance intensity differences in image)
25657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::contrastImage::contrastImage( const size_t sharpen_ )
25757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _sharpen( sharpen_ )
258ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj{
259c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
260c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardjvoid Magick::contrastImage::operator()( Magick::Image &image_ ) const
261c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
262c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  image_.contrast( _sharpen );
263c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
264c9a43665879a03886b27a65b68af2a2c11b04f59sewardj
2652019a976f07ff418dde2dfc7cc74667ef66d7764sewardj// Crop image (subregion of original image)
2662019a976f07ff418dde2dfc7cc74667ef66d7764sewardjMagick::cropImage::cropImage( const Magick::Geometry &geometry_ )
2672019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  : _geometry( geometry_ )
2681e6ad745ebafd0524da1da27a4b85524fa84f777sewardj{
2691e6ad745ebafd0524da1da27a4b85524fa84f777sewardj}
2701e6ad745ebafd0524da1da27a4b85524fa84f777sewardjvoid Magick::cropImage::operator()( Magick::Image &image_ ) const
27157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
27257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.crop( _geometry );
273207557ab2ea38239b670785c976b89d50bbb0eccsewardj}
274ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj
275ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// Cycle image colormap
27657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::cycleColormapImage::cycleColormapImage( const ssize_t amount_ )
27757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _amount( amount_ )
27857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
27957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
280ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardjvoid Magick::cycleColormapImage::operator()( Magick::Image &image_ ) const
281e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj{
282ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj  image_.cycleColormap( _amount );
283ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj}
284ba99931f6dfa264d7bc7c3845a46fc955ab56d93sewardj
285c97096c44637ae5775ed305b19f16f0b505f17d8sewardj// Despeckle image (reduce speckle noise)
286c97096c44637ae5775ed305b19f16f0b505f17d8sewardjMagick::despeckleImage::despeckleImage( void )
287c97096c44637ae5775ed305b19f16f0b505f17d8sewardj{
288c97096c44637ae5775ed305b19f16f0b505f17d8sewardj}
2892019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::despeckleImage::operator()( Magick::Image &image_ ) const
2902019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
291a58ea668d4725b87a146cf43cc48b8ea6ead84casewardj  image_.despeckle( );
29217442fe8094d0f82266e5a05509f62cac8f7539esewardj}
29357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
294ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// Distort image.  distorts an image using various distortion methods, by
295ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// mapping color lookups of the source image to a new destination image
296ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// usally of the same size as the source image, unless 'bestfit' is set to
297ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// true.
29857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::distortImage::distortImage( const Magick::DistortImageMethod method_,
299ba99931f6dfa264d7bc7c3845a46fc955ab56d93sewardj                                    const size_t number_arguments_,
30017442fe8094d0f82266e5a05509f62cac8f7539esewardj                                    const double *arguments_,
30117442fe8094d0f82266e5a05509f62cac8f7539esewardj                                    const bool bestfit_ )
30217442fe8094d0f82266e5a05509f62cac8f7539esewardj  : _method ( method_ ),
30317442fe8094d0f82266e5a05509f62cac8f7539esewardj    _number_arguments ( number_arguments_ ),
3042019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _arguments ( arguments_ ),
3052019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _bestfit( bestfit_ )
30617442fe8094d0f82266e5a05509f62cac8f7539esewardj{
30717442fe8094d0f82266e5a05509f62cac8f7539esewardj}
3081e6ad745ebafd0524da1da27a4b85524fa84f777sewardjMagick::distortImage::distortImage( const Magick::DistortImageMethod method_,
309c97096c44637ae5775ed305b19f16f0b505f17d8sewardj                                    const size_t number_arguments_,
31057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                    const double *arguments_ )
311dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  : _method ( method_ ),
312695cff9303ef5dc8079117acfd632b44edb1f010sewardj    _number_arguments ( number_arguments_ ),
31357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _arguments ( arguments_ ),
31435421a3cfd43bc829d27ee15bd34bbc7cb690805sewardj    _bestfit( false )
31557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
31657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
3174345f7a3ecee1dde39b3c9b58372a5af97a06e8csewardjvoid Magick::distortImage::operator()( Magick::Image &image_ ) const
318ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj{
319c97096c44637ae5775ed305b19f16f0b505f17d8sewardj  image_.distort( _method, _number_arguments, _arguments, _bestfit );
3208ea867b06de73d909c29e243407713c291c8414esewardj}
3218ea867b06de73d909c29e243407713c291c8414esewardj
3228ea867b06de73d909c29e243407713c291c8414esewardj// Draw on image
32377352545d8416a36a4e6310aaea6b0205508aea2sewardjMagick::drawImage::drawImage( const Magick::Drawable &drawable_ )
3248ea867b06de73d909c29e243407713c291c8414esewardj  : _drawableList()
32503d91140809def2f5afc04b0cc9beb0f4f0a1b13sewardj{
32603d91140809def2f5afc04b0cc9beb0f4f0a1b13sewardj  _drawableList.push_back( drawable_ );
32703d91140809def2f5afc04b0cc9beb0f4f0a1b13sewardj}
32803d91140809def2f5afc04b0cc9beb0f4f0a1b13sewardjMagick::drawImage::drawImage( const std::list<Magick::Drawable> &drawable_ )
32943c56461a667ca81fe29f1db01450d6ff1d62949sewardj  : _drawableList( drawable_ )
33043c56461a667ca81fe29f1db01450d6ff1d62949sewardj{
33143c56461a667ca81fe29f1db01450d6ff1d62949sewardj}
33243c56461a667ca81fe29f1db01450d6ff1d62949sewardjvoid Magick::drawImage::operator()( Magick::Image &image_ ) const
33343c56461a667ca81fe29f1db01450d6ff1d62949sewardj{
33443c56461a667ca81fe29f1db01450d6ff1d62949sewardj  image_.draw( _drawableList );
33543c56461a667ca81fe29f1db01450d6ff1d62949sewardj}
3368ea867b06de73d909c29e243407713c291c8414esewardj
3378ea867b06de73d909c29e243407713c291c8414esewardj// Edge image (hilight edges in image)
3388ea867b06de73d909c29e243407713c291c8414esewardjMagick::edgeImage::edgeImage( const double radius_ )
3392d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardj  : _radius( radius_ )
3402d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardj{
3412d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardj}
3422d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardjvoid Magick::edgeImage::operator()( Magick::Image &image_ ) const
3438ea867b06de73d909c29e243407713c291c8414esewardj{
3448ea867b06de73d909c29e243407713c291c8414esewardj  image_.edge( _radius );
3458ea867b06de73d909c29e243407713c291c8414esewardj}
34657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
3472d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardj// Emboss image (hilight edges with 3D effect)
3488ea867b06de73d909c29e243407713c291c8414esewardjMagick::embossImage::embossImage( void )
34957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _radius( 1 ),
350dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj    _sigma( 0.5 )
3518ea867b06de73d909c29e243407713c291c8414esewardj{
35257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
3538ea867b06de73d909c29e243407713c291c8414esewardjMagick::embossImage::embossImage( const double radius_, const double sigma_ )
3548ea867b06de73d909c29e243407713c291c8414esewardj  : _radius( radius_ ),
3558ea867b06de73d909c29e243407713c291c8414esewardj    _sigma( sigma_ )
3562d3f77c12d2911173fd182d0b6e954196dee9135sewardj{
3572d3f77c12d2911173fd182d0b6e954196dee9135sewardj}
35857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::embossImage::operator()( Magick::Image &image_ ) const
35957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
36057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.emboss( _radius, _sigma );
3612d3f77c12d2911173fd182d0b6e954196dee9135sewardj}
3622d3f77c12d2911173fd182d0b6e954196dee9135sewardj
36357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Enhance image (minimize noise)
36457c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::enhanceImage::enhanceImage( void )
36557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
3662d3f77c12d2911173fd182d0b6e954196dee9135sewardj}
367dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjvoid Magick::enhanceImage::operator()( Magick::Image &image_ ) const
3682d3f77c12d2911173fd182d0b6e954196dee9135sewardj{
369dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  image_.enhance( );
3702d3f77c12d2911173fd182d0b6e954196dee9135sewardj}
371dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj
372695cff9303ef5dc8079117acfd632b44edb1f010sewardj// Equalize image (histogram equalization)
373dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::equalizeImage::equalizeImage( void )
374dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj{
3752d3f77c12d2911173fd182d0b6e954196dee9135sewardj}
3762d3f77c12d2911173fd182d0b6e954196dee9135sewardjvoid Magick::equalizeImage::operator()( Magick::Image &image_ ) const
377c97096c44637ae5775ed305b19f16f0b505f17d8sewardj{
378ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj  image_.equalize( );
37957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
38057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
38157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Color to use when filling drawn objects
382fbcaf3312f39fb73d54821636c6168db76245f61sewardjMagick::fillColorImage::fillColorImage( const Magick::Color &fillColor_ )
383ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj  : _fillColor( fillColor_ )
38457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
38535421a3cfd43bc829d27ee15bd34bbc7cb690805sewardj}
386c97096c44637ae5775ed305b19f16f0b505f17d8sewardjvoid Magick::fillColorImage::operator()( Magick::Image &image_ ) const
38792d168d0f2a985ed9f7ae4e6bba9565a13921b31sewardj{
388fbcaf3312f39fb73d54821636c6168db76245f61sewardj  image_.fillColor( _fillColor );
389ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj}
39040c802659108a96bb87cbc1a30b7b77e2abd0829sewardj
391ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// Flip image (reflect each scanline in the vertical direction)
39257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::flipImage::flipImage( void )
39357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
39457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
39557c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::flipImage::operator()( Magick::Image &image_ ) const
39657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
39757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.flip( );
39857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
39957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
40057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Flood-fill image with color
40157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Flood-fill color across pixels starting at target-pixel and
402ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// stopping at pixels matching specified border color.  Uses current
40341f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj// fuzz setting when determining color match.
40471a35e7351fc1202ef2960d3f0315d9181624fe2sewardjMagick::floodFillColorImage::floodFillColorImage( const ssize_t x_,
40571a35e7351fc1202ef2960d3f0315d9181624fe2sewardj                                                  const ssize_t y_,
40671a35e7351fc1202ef2960d3f0315d9181624fe2sewardj                                                  const Magick::Color &fillColor_ )
407c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj  : _x(x_),
40866de22767fc526eff52133c18d4a42a9b25d5f18sewardj    _y(y_),
40941f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj    _fillColor(fillColor_),
41041f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj    _borderColor()
41141f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj{
41241f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj}
41341f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardjMagick::floodFillColorImage::floodFillColorImage( const Magick::Geometry &point_,
41441f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj                                                  const Magick::Color &fillColor_ )
41541f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj  : _x(point_.xOff()),
41641f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj    _y(point_.yOff()),
41741f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj    _fillColor(fillColor_),
418e90ad6abbe540a5b3ffa68ba0c641ced77c20211sewardj    _borderColor()
419e90ad6abbe540a5b3ffa68ba0c641ced77c20211sewardj{
420e90ad6abbe540a5b3ffa68ba0c641ced77c20211sewardj}
42141f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj// Flood-fill color across pixels starting at target-pixel and
42241f43bcdee3e150a74a2e8c8e3b5bc5f5fda3215sewardj// stopping at pixels matching specified border color.  Uses current
42371a35e7351fc1202ef2960d3f0315d9181624fe2sewardj// fuzz setting when determining color match.
4241fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardjMagick::floodFillColorImage::floodFillColorImage( const ssize_t x_,
4251fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj                                                  const ssize_t y_,
4261fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj                                                  const Magick::Color &fillColor_,
4271fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj                                                  const Magick::Color &borderColor_ )
4281fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj  : _x(x_),
4291fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj    _y(y_),
4301fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj    _fillColor(fillColor_),
4311fb8c92e9b0882ebbd53c04c69ebad7efb1cd3d8sewardj    _borderColor(borderColor_)
43271a35e7351fc1202ef2960d3f0315d9181624fe2sewardj{
43371a35e7351fc1202ef2960d3f0315d9181624fe2sewardj}
4349690d927540d730525a5f7f14663f3ceaa7818dasewardjMagick::floodFillColorImage::floodFillColorImage( const Geometry &point_,
4359b96767debeeb1f78378f0e7e295fe6762c64002sewardj                                                  const Color &fillColor_,
4369b96767debeeb1f78378f0e7e295fe6762c64002sewardj                                                  const Color &borderColor_ )
4378f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  : _x(point_.xOff()),
438ce646f23d71ac432c340667387aa4a5ce7d18099sewardj    _y(point_.yOff()),
439f53b7359a342e7d79090615169c6583a1a75fbcesewardj    _fillColor(fillColor_),
440f53b7359a342e7d79090615169c6583a1a75fbcesewardj    _borderColor(borderColor_)
441f53b7359a342e7d79090615169c6583a1a75fbcesewardj{
442f53b7359a342e7d79090615169c6583a1a75fbcesewardj}
4438f3debf52b76a050bc84997a0358c4aa86dfc88dsewardjvoid Magick::floodFillColorImage::operator()( Magick::Image &image_ ) const
4448f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
445b51f0f4f33256638ed953156a2635aa739b232f1sewardj  if ( _borderColor.isValid() )
4469854007808ab24cad3f971eab63face1cb1e6089sewardj    {
4479854007808ab24cad3f971eab63face1cb1e6089sewardj      image_.floodFillColor( _x, _y, _fillColor, _borderColor );
4489854007808ab24cad3f971eab63face1cb1e6089sewardj    }
4499854007808ab24cad3f971eab63face1cb1e6089sewardj  else
450343b9d0f6be20948ab2f4fe87de55835f96fe30asewardj    {
4510033ddccac6f90789fe2e78e86b8a649931d77b4sewardj      image_.floodFillColor( _x, _y, _fillColor );
4520033ddccac6f90789fe2e78e86b8a649931d77b4sewardj    }
453eb17e49565dd7867a56c8ba6e45fdca01a576bb3sewardj}
454eb17e49565dd7867a56c8ba6e45fdca01a576bb3sewardj
455478646f54befaba01cbceb40fd5e46cdf562fdb5sewardj// Flood-fill image with texture
4560033ddccac6f90789fe2e78e86b8a649931d77b4sewardj
45757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Flood-fill texture across pixels that match the color of the target
45857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// pixel and are neighbors of the target pixel.  Uses current fuzz
459b51f0f4f33256638ed953156a2635aa739b232f1sewardj// setting when determining color match.
460b51f0f4f33256638ed953156a2635aa739b232f1sewardjMagick::floodFillTextureImage::floodFillTextureImage( const ssize_t x_,
461b51f0f4f33256638ed953156a2635aa739b232f1sewardj                                                      const ssize_t y_,
462b51f0f4f33256638ed953156a2635aa739b232f1sewardj                                                      const Magick::Image &texture_ )
4632831b00c4950d6c2b061def05fd67528fe132ececerion  : _x(x_),
4642831b00c4950d6c2b061def05fd67528fe132ececerion    _y(y_),
465b51f0f4f33256638ed953156a2635aa739b232f1sewardj    _texture(texture_),
4669690d927540d730525a5f7f14663f3ceaa7818dasewardj    _borderColor()
4678f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
4685c8a0cbfd7fd3b506f6ba1cb25a6aa20efb59dcbcerion}
4695c8a0cbfd7fd3b506f6ba1cb25a6aa20efb59dcbcerionMagick::floodFillTextureImage::floodFillTextureImage( const Magick::Geometry &point_,
470f0de28cf1a762b0d6f74c93d3532c89a230673bbcerion                                                      const Magick::Image &texture_ )
471f0de28cf1a762b0d6f74c93d3532c89a230673bbcerion  : _x(point_.xOff()),
472e71e56a90e91ce37b0ee846a4ff94493d59f2095sewardj    _y(point_.yOff()),
473e71e56a90e91ce37b0ee846a4ff94493d59f2095sewardj    _texture(texture_),
4744aa412af1d8166cc11f39a6e721df49431d23618sewardj    _borderColor()
475e71e56a90e91ce37b0ee846a4ff94493d59f2095sewardj{
4765c8a0cbfd7fd3b506f6ba1cb25a6aa20efb59dcbcerion}
4779690d927540d730525a5f7f14663f3ceaa7818dasewardj// Flood-fill texture across pixels starting at target-pixel and
4789690d927540d730525a5f7f14663f3ceaa7818dasewardj// stopping at pixels matching specified border color.  Uses current
4799690d927540d730525a5f7f14663f3ceaa7818dasewardj// fuzz setting when determining color match.
48089d4e9828ce36532c957566ebb46947109a7b53dsewardjMagick::floodFillTextureImage::floodFillTextureImage( const ssize_t x_,
481343b9d0f6be20948ab2f4fe87de55835f96fe30asewardj                                                      const ssize_t y_,
482343b9d0f6be20948ab2f4fe87de55835f96fe30asewardj                                                      const Magick::Image &texture_,
483343b9d0f6be20948ab2f4fe87de55835f96fe30asewardj                                                      const Magick::Color &borderColor_ )
484343b9d0f6be20948ab2f4fe87de55835f96fe30asewardj  : _x(x_),
4852019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _y(y_),
4862019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _texture(texture_),
4872019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _borderColor(borderColor_)
4880033ddccac6f90789fe2e78e86b8a649931d77b4sewardj{
4890033ddccac6f90789fe2e78e86b8a649931d77b4sewardj}
4900033ddccac6f90789fe2e78e86b8a649931d77b4sewardjMagick::floodFillTextureImage::floodFillTextureImage( const Magick::Geometry &point_,
4910033ddccac6f90789fe2e78e86b8a649931d77b4sewardj                                                      const Magick::Image &texture_,
4920033ddccac6f90789fe2e78e86b8a649931d77b4sewardj                                                      const Magick::Color &borderColor_ )
4939690d927540d730525a5f7f14663f3ceaa7818dasewardj  : _x(point_.xOff()),
4940033ddccac6f90789fe2e78e86b8a649931d77b4sewardj    _y(point_.yOff()),
4950033ddccac6f90789fe2e78e86b8a649931d77b4sewardj    _texture(texture_),
4960033ddccac6f90789fe2e78e86b8a649931d77b4sewardj    _borderColor(borderColor_)
4970033ddccac6f90789fe2e78e86b8a649931d77b4sewardj{
4980033ddccac6f90789fe2e78e86b8a649931d77b4sewardj}
4990033ddccac6f90789fe2e78e86b8a649931d77b4sewardjvoid Magick::floodFillTextureImage::operator()( Magick::Image &image_ ) const
5000033ddccac6f90789fe2e78e86b8a649931d77b4sewardj{
501a238471814bd386aeb58a76718b41e68b1a794b2sewardj  if ( _borderColor.isValid() )
5020033ddccac6f90789fe2e78e86b8a649931d77b4sewardj    {
503b81f8b3e9110a5608094b8ec1a5c6d3c30a8e5aesewardj      image_.floodFillTexture( _x, _y, _texture, _borderColor );
504b81f8b3e9110a5608094b8ec1a5c6d3c30a8e5aesewardj    }
505b81f8b3e9110a5608094b8ec1a5c6d3c30a8e5aesewardj  else
506b81f8b3e9110a5608094b8ec1a5c6d3c30a8e5aesewardj    {
5078c7f1abe9e022f6382634efea09c9cac89ec6336sewardj      image_.floodFillTexture( _x, _y, _texture );
5088c7f1abe9e022f6382634efea09c9cac89ec6336sewardj    }
5098c7f1abe9e022f6382634efea09c9cac89ec6336sewardj}
5108c7f1abe9e022f6382634efea09c9cac89ec6336sewardj
5119690d927540d730525a5f7f14663f3ceaa7818dasewardj// Flop image (reflect each scanline in the horizontal direction)
5128c7f1abe9e022f6382634efea09c9cac89ec6336sewardjMagick::flopImage::flopImage( void )
5139690d927540d730525a5f7f14663f3ceaa7818dasewardj{
5149690d927540d730525a5f7f14663f3ceaa7818dasewardj}
5159b96767debeeb1f78378f0e7e295fe6762c64002sewardjvoid Magick::flopImage::operator()( Magick::Image &image_ ) const
5169b96767debeeb1f78378f0e7e295fe6762c64002sewardj{
5179b96767debeeb1f78378f0e7e295fe6762c64002sewardj  image_.flop( );
5189b96767debeeb1f78378f0e7e295fe6762c64002sewardj}
519cf780b4c356a274cc48a6829963f8bc79a1b34e8sewardj
5206e797c5fbd90ecc6531f9d8c4929848664a13714sewardj// Frame image
52184ff0657940e62f38e618ea18bac6f27ce0e741fsewardjMagick::frameImage::frameImage( const Magick::Geometry &geometry_ )
522291a7e8fa181da2b707a2a7d51fbdccb17908f87sewardj  : _width( geometry_.width() ),
523291a7e8fa181da2b707a2a7d51fbdccb17908f87sewardj    _height( geometry_.height() ),
52484ff0657940e62f38e618ea18bac6f27ce0e741fsewardj    _outerBevel( geometry_.xOff() ),
525291a7e8fa181da2b707a2a7d51fbdccb17908f87sewardj    _innerBevel( geometry_.yOff() )
526fd33277c458b31596eb4fb15959467ac047c75dasewardj{
5278eda6304ecfaa1d0aa70773a2c07f996717f8f54sewardj}
528cf7879021370aabcccb1a9347244fcc7d5680141sewardjMagick::frameImage::frameImage( const size_t width_, const size_t height_,
529b5874aa03bb38bf754aa8c1cb1e400f3d7e86b9fsewardj                                const ssize_t innerBevel_, const ssize_t outerBevel_ )
5308f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  : _width( width_ ),
531baf971ad7f6e005109f3301ec9d19c98066b3840sewardj    _height( height_ ),
5328f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj    _outerBevel( outerBevel_ ),
533b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _innerBevel( innerBevel_ )
534cfded9ab7c059881ecdbe967ddfcc1ce207986casewardj{
535b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
536b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::frameImage::operator()( Magick::Image &image_ ) const
537b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
53852ace3ed99ccb7d0e4c64dc06381e407a8bfcf1dsewardj  image_.frame( _width, _height, _innerBevel, _outerBevel );
5396c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
5406c299f3acab617581ea504e45fbb6cab24c2b29fsewardj
5416c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// Gamma correct image
542b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjMagick::gammaImage::gammaImage( const double gamma_ )
543b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  : _gammaRed( gamma_ ),
544b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _gammaGreen( gamma_ ),
545b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _gammaBlue( gamma_ )
54652ace3ed99ccb7d0e4c64dc06381e407a8bfcf1dsewardj{
547b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
548b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjMagick::gammaImage::gammaImage ( const double gammaRed_,
549b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj                                 const double gammaGreen_,
5508f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj                                 const double gammaBlue_ )
5516c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  : _gammaRed( gammaRed_ ),
5526c299f3acab617581ea504e45fbb6cab24c2b29fsewardj    _gammaGreen( gammaGreen_ ),
5536c299f3acab617581ea504e45fbb6cab24c2b29fsewardj    _gammaBlue( gammaBlue_ )
554b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
555b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
556b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::gammaImage::operator()( Magick::Image &image_ ) const
557baf971ad7f6e005109f3301ec9d19c98066b3840sewardj{
5586c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  image_.gamma( _gammaRed, _gammaGreen, _gammaBlue );
5596c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
5606c299f3acab617581ea504e45fbb6cab24c2b29fsewardj
5618f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj// Gaussian blur image
562883b00b3d97a9873371557d7b1f2ac5db7985e43sewardj// The number of neighbor pixels to be included in the convolution
5638f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj// mask is specified by 'width_'. The standard deviation of the
5648f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj// gaussian bell curve is specified by 'sigma_'.
565883b00b3d97a9873371557d7b1f2ac5db7985e43sewardjMagick::gaussianBlurImage::gaussianBlurImage( const double width_,
5668f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj                                              const double sigma_ )
5678f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  : _width( width_ ),
5688f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj    _sigma( sigma_ )
5696c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
5708f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj}
5712019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::gaussianBlurImage::operator()( Magick::Image &image_ ) const
5722019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
5738f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  image_.gaussianBlur( _width, _sigma );
5743bca906f6e715c544eb49c278bedef093c14c0d7sewardj}
575b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj
5766c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// Apply a color lookup table (Hald CLUT) to the image.
5776c299f3acab617581ea504e45fbb6cab24c2b29fsewardjMagick::haldClutImage::haldClutImage( const Image &haldClutImage_ )
5786c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  : _haldClutImage ( haldClutImage_ )
5796c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
5808f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj}
5818f3debf52b76a050bc84997a0358c4aa86dfc88dsewardjvoid Magick::haldClutImage::operator()( Image &image_ ) const
5828f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
5838f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  image_.haldClut( _haldClutImage );
5848f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj}
5858f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj
5868f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj// Implode image (special effect)
5878f3debf52b76a050bc84997a0358c4aa86dfc88dsewardjMagick::implodeImage::implodeImage( const double factor_  )
5888f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj  : _factor( factor_ )
5898f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
5908f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj}
5916c299f3acab617581ea504e45fbb6cab24c2b29fsewardjvoid Magick::implodeImage::operator()( Magick::Image &image_ ) const
5926c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
5936c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  image_.implode( _factor );
5946c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
5956c299f3acab617581ea504e45fbb6cab24c2b29fsewardj
5966c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// Implements the inverse discrete Fourier transform (IFT) of the image
5976c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// either as a magnitude / phase or real / imaginary image pair.
5986c299f3acab617581ea504e45fbb6cab24c2b29fsewardjMagick::inverseFourierTransformImage::inverseFourierTransformImage( const Magick::Image &phaseImage_ )
5996c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  : _phaseImage( phaseImage_ )
6008f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
6018f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj}
6028f3debf52b76a050bc84997a0358c4aa86dfc88dsewardjvoid Magick::inverseFourierTransformImage::operator()( Magick::Image &image_ ) const
6036c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
6046c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  image_.inverseFourierTransform( _phaseImage );
6056c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
6066c299f3acab617581ea504e45fbb6cab24c2b29fsewardj
6076c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// Set image validity. Valid images become empty (inValid) if argument
6086c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// is false.
6096c299f3acab617581ea504e45fbb6cab24c2b29fsewardjMagick::isValidImage::isValidImage( const bool isValid_  )
6106c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  : _isValid( isValid_ )
6113bca906f6e715c544eb49c278bedef093c14c0d7sewardj{
6123bca906f6e715c544eb49c278bedef093c14c0d7sewardj}
6133bca906f6e715c544eb49c278bedef093c14c0d7sewardjvoid Magick::isValidImage::operator()( Magick::Image &image_ ) const
6148f3debf52b76a050bc84997a0358c4aa86dfc88dsewardj{
6156c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  image_.isValid( _isValid );
6166c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
6176c299f3acab617581ea504e45fbb6cab24c2b29fsewardj
6184aa412af1d8166cc11f39a6e721df49431d23618sewardj// Label image
6196c299f3acab617581ea504e45fbb6cab24c2b29fsewardjMagick::labelImage::labelImage( const std::string &label_ )
6206c299f3acab617581ea504e45fbb6cab24c2b29fsewardj  : _label( label_ )
6216c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
6226c299f3acab617581ea504e45fbb6cab24c2b29fsewardj}
6236c299f3acab617581ea504e45fbb6cab24c2b29fsewardjvoid Magick::labelImage::operator()( Magick::Image &image_ ) const
6246c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
62566d5ef2c2a31fb52cdd4f02304489e30268ea13fsewardj  image_.label( _label );
62666d5ef2c2a31fb52cdd4f02304489e30268ea13fsewardj}
62752ace3ed99ccb7d0e4c64dc06381e407a8bfcf1dsewardj
6286c299f3acab617581ea504e45fbb6cab24c2b29fsewardj// Level image
6293bca906f6e715c544eb49c278bedef093c14c0d7sewardjMagick::levelImage::levelImage( const double black_point,
6302019a976f07ff418dde2dfc7cc74667ef66d7764sewardj                                const double white_point,
6312019a976f07ff418dde2dfc7cc74667ef66d7764sewardj                                const double mid_point )
6322019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  : _black_point(black_point),
6332019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _white_point(white_point),
6342019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _mid_point(mid_point)
6352019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
6362019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
6372019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::levelImage::operator()( Magick::Image &image_ ) const
6386c299f3acab617581ea504e45fbb6cab24c2b29fsewardj{
6393bca906f6e715c544eb49c278bedef093c14c0d7sewardj  image_.level( _black_point, _white_point, _mid_point );
6403bca906f6e715c544eb49c278bedef093c14c0d7sewardj}
6414cb918d355cef4e7640d374346852db4556f3524sewardj
64217442fe8094d0f82266e5a05509f62cac8f7539esewardj// Level image channel
64317442fe8094d0f82266e5a05509f62cac8f7539esewardjMagick::levelChannelImage::levelChannelImage( const Magick::ChannelType channel,                                              const double black_point,
644c9a43665879a03886b27a65b68af2a2c11b04f59sewardj                                              const double white_point,
645fc1b541264539587f12721ca0b73ef04580ed2bdsewardj                                              const double mid_point )
646b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  : _channel(channel),
6472019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _black_point(black_point),
6482019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _white_point(white_point),
6492019a976f07ff418dde2dfc7cc74667ef66d7764sewardj    _mid_point(mid_point)
6502019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
6512019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
6522019a976f07ff418dde2dfc7cc74667ef66d7764sewardj
6532019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::levelChannelImage::operator()( Magick::Image &image_ ) const
6542019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
6552019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  image_.levelChannel( _channel, _black_point, _white_point, _mid_point );
6562019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
6572019a976f07ff418dde2dfc7cc74667ef66d7764sewardj
6582019a976f07ff418dde2dfc7cc74667ef66d7764sewardj// Magnify image by integral size
6592019a976f07ff418dde2dfc7cc74667ef66d7764sewardjMagick::magnifyImage::magnifyImage( void )
6602019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
6612019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
6622019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::magnifyImage::operator()( Magick::Image &image_ ) const
6632019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
6642019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  image_.magnify( );
6652019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
6662019a976f07ff418dde2dfc7cc74667ef66d7764sewardj
6672019a976f07ff418dde2dfc7cc74667ef66d7764sewardj// Remap image colors with closest color from reference image
6682019a976f07ff418dde2dfc7cc74667ef66d7764sewardjMagick::mapImage::mapImage( const Magick::Image &mapImage_ ,
6692019a976f07ff418dde2dfc7cc74667ef66d7764sewardj                            const bool dither_ )
6702019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  : _mapImage( mapImage_ ),
671b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _dither( dither_ )
672b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
673b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
674b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::mapImage::operator()( Magick::Image &image_ ) const
675b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
676b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  image_.map( _mapImage, _dither );
677b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
678b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj
679b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj// Floodfill designated area with a matte value
680b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjMagick::matteFloodfillImage::matteFloodfillImage( const Color &target_ ,
681b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj                                                  const unsigned int matte_,
682b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj                                                  const ssize_t x_, const ssize_t y_,
683b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj                                                  const PaintMethod method_ )
684b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  : _target( target_ ),
685b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _matte( matte_ ),
686b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _x( x_ ),
687b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _y( y_ ),
688b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _method( method_ )
689b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
690b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
691b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::matteFloodfillImage::operator()( Magick::Image &image_ ) const
692b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
693b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  image_.matteFloodfill( _target, _matte, _x, _y, _method );
694b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
695d15b597a8a006b3fe136cbf6cdf5b46ed532a4d8sewardj
696d15b597a8a006b3fe136cbf6cdf5b46ed532a4d8sewardj// Filter image by replacing each pixel component with the median
697b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj// color in a circular neighborhood
6982019a976f07ff418dde2dfc7cc74667ef66d7764sewardjMagick::medianFilterImage::medianFilterImage( const double radius_  )
6992019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  : _radius( radius_ )
7002019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
7012019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
7022019a976f07ff418dde2dfc7cc74667ef66d7764sewardjvoid Magick::medianFilterImage::operator()( Magick::Image &image_ ) const
7032019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
7042019a976f07ff418dde2dfc7cc74667ef66d7764sewardj  image_.medianFilter( _radius );
705b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
706b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj
70740c802659108a96bb87cbc1a30b7b77e2abd0829sewardj// Reduce image by integral size
70840c802659108a96bb87cbc1a30b7b77e2abd0829sewardjMagick::minifyImage::minifyImage( void )
7092019a976f07ff418dde2dfc7cc74667ef66d7764sewardj{
7102019a976f07ff418dde2dfc7cc74667ef66d7764sewardj}
71140c802659108a96bb87cbc1a30b7b77e2abd0829sewardjvoid Magick::minifyImage::operator()( Magick::Image &image_ ) const
71240c802659108a96bb87cbc1a30b7b77e2abd0829sewardj{
71340c802659108a96bb87cbc1a30b7b77e2abd0829sewardj  image_.minify( );
71440c802659108a96bb87cbc1a30b7b77e2abd0829sewardj}
71540c802659108a96bb87cbc1a30b7b77e2abd0829sewardj
71640c802659108a96bb87cbc1a30b7b77e2abd0829sewardj// Modulate percent hue, saturation, and brightness of an image
71740c802659108a96bb87cbc1a30b7b77e2abd0829sewardjMagick::modulateImage::modulateImage( const double brightness_,
71840c802659108a96bb87cbc1a30b7b77e2abd0829sewardj                                      const double saturation_,
71940c802659108a96bb87cbc1a30b7b77e2abd0829sewardj                                      const double hue_ )
720b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  : _brightness( brightness_ ),
721b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj    _saturation( saturation_ ),
7220f1ef86a99d5129e04ed188e44d16a344d2bc42asewardj    _hue( hue_ )
7230f1ef86a99d5129e04ed188e44d16a344d2bc42asewardj{
7240f1ef86a99d5129e04ed188e44d16a344d2bc42asewardj}
7250f1ef86a99d5129e04ed188e44d16a344d2bc42asewardjvoid Magick::modulateImage::operator()( Magick::Image &image_ ) const
726b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
727b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  image_.modulate( _brightness, _saturation, _hue );
728b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
729b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj
730b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj// Negate colors in image.  Set grayscale to only negate grayscale
731b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj// values in image.
732b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjMagick::negateImage::negateImage( const bool grayscale_  )
733b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  : _grayscale( grayscale_ )
734b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
735b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj}
736b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::negateImage::operator()( Magick::Image &image_ ) const
737b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
738c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  image_.negate( _grayscale );
739e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj}
740e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj
741e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// Normalize image (increase contrast by normalizing the pixel values
742e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// to span the full range of color values)
743e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardjMagick::normalizeImage::normalizeImage( void )
744e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj{
745e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj}
746e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardjvoid Magick::normalizeImage::operator()( Magick::Image &image_ ) const
747e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj{
748e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj  image_.normalize( );
749e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj}
750e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj
751e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// Oilpaint image (image looks like oil painting)
752e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardjMagick::oilPaintImage::oilPaintImage( const double radius_ )
753e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj  : _radius( radius_ )
754e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj{
755e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj}
756e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardjvoid Magick::oilPaintImage::operator()( Magick::Image &image_ ) const
757e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj{
758e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj  image_.oilPaint( _radius );
759e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj}
760e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj
761e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// Set or attenuate the image alpha channel. If the image pixels are
762e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// opaque then they are set to the specified alpha value, otherwise
763310d6b2d02c3b22a8e496f3e26f3e9b3eb616ea5sewardj// they are blended with the supplied alpha value.  The value of
764310d6b2d02c3b22a8e496f3e26f3e9b3eb616ea5sewardj// alpha_ ranges from 0 (completely opaque) to QuantumRange. The defines
765310d6b2d02c3b22a8e496f3e26f3e9b3eb616ea5sewardj// OpaqueAlpha and TransparentAlpha are available to specify
766e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj// completely opaque or completely transparent, respectively.
767e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardjMagick::alphaImage::alphaImage( const unsigned int alpha_ )
768e2ea17600e3bbdc4cc0edcd2a03f7d1142666f37sewardj  : _alpha( alpha_ )
7692fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7702fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7712fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::alphaImage::operator()( Magick::Image &image_ ) const
7722fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7732fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.alpha( _alpha );
7742fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7752fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
7762fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Change color of opaque pixel to specified pen color.
7772fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::opaqueImage::opaqueImage( const Magick::Color &opaqueColor_,
7782fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                                  const Magick::Color &penColor_ )
7792fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _opaqueColor( opaqueColor_ ),
7802fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _penColor( penColor_ )
7812fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7822fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7832fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::opaqueImage::operator()( Magick::Image &image_ ) const
7842fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7852fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.opaque( _opaqueColor, _penColor );
7862fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7872fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
7882fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Quantize image (reduce number of colors)
7892fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::quantizeImage::quantizeImage( const bool measureError_  )
7902fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _measureError( measureError_ )
7912fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7922fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7932fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::quantizeImage::operator()( Image &image_ ) const
7942fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
7952fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.quantize( _measureError );
7962fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
7972fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
7982fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Raise image (lighten or darken the edges of an image to give a 3-D
7992fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// raised or lowered effect)
8002fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::raiseImage::raiseImage( const Magick::Geometry &geometry_ ,
8012fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                                const bool raisedFlag_  )
8022fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _geometry( geometry_ ),
8032fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _raisedFlag( raisedFlag_ )
8042fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8052fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8062fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::raiseImage::operator()( Magick::Image &image_ ) const
8072fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8082fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.raise( _geometry, _raisedFlag );
8092fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8102fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
81138a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj// Reduce noise in image using a noise peak elimination filter
81238a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjMagick::reduceNoiseImage::reduceNoiseImage( void )
81338a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj  : _order(3)
8141806918ae2783af5808f00876581e01c7b650a0dsewardj{
81538a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj}
81638a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjMagick::reduceNoiseImage::reduceNoiseImage ( const size_t order_ )
81738a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj      : _order(order_)
8182fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8192fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8202fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::reduceNoiseImage::operator()( Image &image_ ) const
8212fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8222fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.reduceNoise( _order );
8232fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8242fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
8252fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Roll image (rolls image vertically and horizontally) by specified
8262fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// number of columnms and rows)
8272fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::rollImage::rollImage( const Magick::Geometry &roll_ )
8282fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _columns( roll_.width() ),
8292fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _rows( roll_.height() )
8302fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8312fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8322fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::rollImage::rollImage( const ssize_t columns_,
8332fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                              const ssize_t rows_ )
8342fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _columns( columns_ ),
8352fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _rows( rows_ )
83638a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj{
83738a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj}
83838a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjvoid Magick::rollImage::operator()( Magick::Image &image_ ) const
8392fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8402fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.roll( _columns, _rows );
84138a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj}
8422fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
8432fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Rotate image counter-clockwise by specified number of degrees.
8442fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::rotateImage::rotateImage( const double degrees_ )
8452fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _degrees( degrees_ )
8462fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8472fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
84838a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjvoid Magick::rotateImage::operator()( Magick::Image &image_ ) const
84938a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj{
8502fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.rotate( _degrees );
8512fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8522fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
8532fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Resize image by using pixel sampling algorithm
8542fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::sampleImage::sampleImage( const Magick::Geometry &geometry_ )
8552fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _geometry( geometry_ )
8562fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8572fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8582fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::sampleImage::operator()( Magick::Image &image_ ) const
8592fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8602fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.sample( _geometry );
8612fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
86238a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj
8635ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj// Resize image by using simple ratio algorithm
86438a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjMagick::scaleImage::scaleImage( const Magick::Geometry &geometry_ )
86538a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj  : _geometry( geometry_ )
86638a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj{
86738a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj}
8682fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::scaleImage::operator()( Magick::Image &image_ ) const
8692fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8702fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.scale( _geometry );
8712fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
87238a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj
87338a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj// Segment (coalesce similar image components) by analyzing the
87438a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj// histograms of the color components and identifying units that are
8752fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// homogeneous with the fuzzy c-means technique.  Also uses
87638a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj// QuantizeColorSpace and Verbose image attributes
87738a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjMagick::segmentImage::segmentImage( const double clusterThreshold_ ,
8782fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                                    const double smoothingThreshold_ )
8792fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _clusterThreshold( clusterThreshold_ ),
8802fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _smoothingThreshold( smoothingThreshold_ )
8812fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8822fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8832fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::segmentImage::operator()( Magick::Image &image_ ) const
8842fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8852fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.segment( _clusterThreshold, _smoothingThreshold );
8862fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8872fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
8882fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Shade image using distant light source
8892fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::shadeImage::shadeImage( const double azimuth_,
89038a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj                                const double elevation_,
891d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj        const bool colorShading_)
8922fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _azimuth( azimuth_ ),
893d71ba837242cc470f622335b1c650bce8886a533sewardj    _elevation( elevation_ ),
89438a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj    _colorShading (colorShading_)
8952fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8962fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
8972fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::shadeImage::operator()( Magick::Image &image_ ) const
8982fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
8992fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.shade( _azimuth, _elevation, _colorShading );
9002fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9012fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
9022fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Sharpen pixels in image
9035f438dd73072211989c6d496845bdc9b777ecbecsewardjMagick::sharpenImage::sharpenImage( const double radius_, const double sigma_ )
9045f438dd73072211989c6d496845bdc9b777ecbecsewardj  : _radius( radius_ ),
905c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj    _sigma( sigma_ )
906c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj{
907c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj}
908c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardjvoid Magick::sharpenImage::operator()( Magick::Image &image_ ) const
909c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj{
910c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj  image_.sharpen( _radius, _sigma );
911c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj}
912c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj
913c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj// Shave pixels from image edges.
914c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardjMagick::shaveImage::shaveImage( const Magick::Geometry &geometry_ )
915c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj  : _geometry( geometry_ )
916c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj{
917c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj}
918c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardjvoid Magick::shaveImage::operator()( Magick::Image &image_ ) const
919c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj{
920c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj  image_.shave( _geometry );
921c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj}
922c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj
923c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj// Shear image (create parallelogram by sliding image by X or Y axis)
9245f438dd73072211989c6d496845bdc9b777ecbecsewardjMagick::shearImage::shearImage( const double xShearAngle_,
9255f438dd73072211989c6d496845bdc9b777ecbecsewardj                                const double yShearAngle_ )
92638a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj  : _xShearAngle( xShearAngle_ ),
9272fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _yShearAngle( yShearAngle_ )
9282fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
92938a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj}
93038a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardjvoid Magick::shearImage::operator()( Magick::Image &image_ ) const
93138a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj{
93238a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj  image_.shear( _xShearAngle, _yShearAngle );
9332fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9342fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
9352fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Solarize image (similar to effect seen when exposing a photographic
9362fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// film to light during the development process)
9372fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::solarizeImage::solarizeImage( const double factor_ )
9382fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _factor( factor_ )
93938a3f868aebe4ade7279d7168e0efb6a98eaed5fsewardj{
940d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj}
941d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardjvoid Magick::solarizeImage::operator()( Magick::Image &image_ ) const
942d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj{
943d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj  image_.solarize( _factor );
9442fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9452fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
9462fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Spread pixels randomly within image by specified ammount
9472fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::spreadImage::spreadImage( const size_t amount_ )
9482fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _amount( amount_ )
9492fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9502fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9512fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::spreadImage::operator()( Magick::Image &image_ ) const
9522fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9532fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.spread( _amount );
9542fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9552fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
9562fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Add a digital watermark to the image (based on second image)
9572fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::steganoImage::steganoImage( const Magick::Image &waterMark_ )
9582fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _waterMark( waterMark_ )
9592fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9602fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9612fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::steganoImage::operator()( Magick::Image &image_ ) const
9622fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9632fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.stegano( _waterMark );
9642fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9652fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
9662fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Create an image which appears in stereo when viewed with red-blue
9672fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// glasses (Red image on left, blue on right)
9682fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::stereoImage::stereoImage( const Magick::Image &rightImage_ )
9692fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _rightImage( rightImage_ )
9702fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9712fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9722fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::stereoImage::operator()( Magick::Image &image_ ) const
973d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj{
974d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj  image_.stereo( _rightImage );
975d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj}
976d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj
977d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj// Color to use when drawing object outlines
978d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardjMagick::strokeColorImage::strokeColorImage( const Magick::Color &strokeColor_ )
979d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj  : _strokeColor( strokeColor_ )
980d166e2874e0d9a9e567a281d7f1f6e8ef8127196sewardj{
9812fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
9822fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::strokeColorImage::operator()( Magick::Image &image_ ) const
9832fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
9842fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.strokeColor( _strokeColor );
985164f9275c465cd09ecd09276b8542282f5def250sewardj}
986c9a43665879a03886b27a65b68af2a2c11b04f59sewardj
987c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Swirl image (image pixels are rotated by degrees)
988c9a43665879a03886b27a65b68af2a2c11b04f59sewardjMagick::swirlImage::swirlImage( const double degrees_ )
989c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  : _degrees( degrees_ )
990c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
991c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
9922fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::swirlImage::operator()( Magick::Image &image_ ) const
9932fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
994f294eb389e8e703e2d4476aea7ca579a160a0a89cerion  image_.swirl( _degrees );
9952fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
996206c36410bd92f385b972e36a3a40e38675294e2cerion
997c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Channel a texture on image background
9982fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::textureImage::textureImage( const Magick::Image &texture_ )
9992fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _texture( texture_ )
10002fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10012fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10022fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::textureImage::operator()( Magick::Image &image_ ) const
10032fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
1004c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  image_.texture( _texture );
10052fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10062fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
10072fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Threshold image
10082fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::thresholdImage::thresholdImage( const double threshold_ )
10092fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _threshold( threshold_ )
10102fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10112fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10122fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::thresholdImage::operator()( Magick::Image &image_ ) const
10132fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10142fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.threshold( _threshold );
10152fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10162fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
10172fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Transform image based on image and crop geometries
10182fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::transformImage::transformImage( const Magick::Geometry &imageGeometry_ )
10192fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _imageGeometry( imageGeometry_ ),
10202fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _cropGeometry( )
10212fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10222fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10232fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::transformImage::transformImage( const Magick::Geometry &imageGeometry_,
10242fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                                        const Geometry &cropGeometry_  )
10252fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _imageGeometry( imageGeometry_ ),
10262fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _cropGeometry( cropGeometry_ )
1027c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
1028f294eb389e8e703e2d4476aea7ca579a160a0a89cerion}
1029f294eb389e8e703e2d4476aea7ca579a160a0a89cerionvoid Magick::transformImage::operator()( Magick::Image &image_ ) const
1030f294eb389e8e703e2d4476aea7ca579a160a0a89cerion{
1031f294eb389e8e703e2d4476aea7ca579a160a0a89cerion  if ( _cropGeometry.isValid() )
10322fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    image_.transform( _imageGeometry, _cropGeometry );
10332fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  else
10342fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    image_.transform( _imageGeometry );
1035f294eb389e8e703e2d4476aea7ca579a160a0a89cerion}
1036f294eb389e8e703e2d4476aea7ca579a160a0a89cerion
10372fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Set image color to transparent
10382fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::transparentImage::transparentImage( const Magick::Color& color_ )
10392fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _color( color_ )
10402fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10412fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
10422fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::transparentImage::operator()( Magick::Image &image_ ) const
10432fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
10445f438dd73072211989c6d496845bdc9b777ecbecsewardj  image_.transparent( _color );
10452fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
1046f294eb389e8e703e2d4476aea7ca579a160a0a89cerion
1047c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Trim edges that are the background color from the image
1048c9a43665879a03886b27a65b68af2a2c11b04f59sewardjMagick::trimImage::trimImage( void )
1049c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
1050b85e8bba97fdae7d892f7bfd12e4601307e4721dcerion}
1051c9a43665879a03886b27a65b68af2a2c11b04f59sewardjvoid Magick::trimImage::operator()( Magick::Image &image_ ) const
1052c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
1053c9a43665879a03886b27a65b68af2a2c11b04f59sewardj  image_.trim( );
1054c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
1055636ad762e49597ef608323f27c7b8eb66962cd90sewardj
1056c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Map image pixels to a sine wave
1057c9a43665879a03886b27a65b68af2a2c11b04f59sewardjMagick::waveImage::waveImage( const double amplitude_,
1058c9a43665879a03886b27a65b68af2a2c11b04f59sewardj                              const double wavelength_ )
1059636ad762e49597ef608323f27c7b8eb66962cd90sewardj  : _amplitude( amplitude_ ),
1060636ad762e49597ef608323f27c7b8eb66962cd90sewardj    _wavelength( wavelength_ )
1061636ad762e49597ef608323f27c7b8eb66962cd90sewardj{
1062636ad762e49597ef608323f27c7b8eb66962cd90sewardj}
1063636ad762e49597ef608323f27c7b8eb66962cd90sewardjvoid Magick::waveImage::operator()( Magick::Image &image_ ) const
1064636ad762e49597ef608323f27c7b8eb66962cd90sewardj{
1065636ad762e49597ef608323f27c7b8eb66962cd90sewardj  image_.wave( _amplitude, _wavelength );
1066636ad762e49597ef608323f27c7b8eb66962cd90sewardj}
1067636ad762e49597ef608323f27c7b8eb66962cd90sewardj
1068636ad762e49597ef608323f27c7b8eb66962cd90sewardj// resize image to specified size.
1069636ad762e49597ef608323f27c7b8eb66962cd90sewardjMagick::resizeImage::resizeImage( const Magick::Geometry &geometry_ )
1070636ad762e49597ef608323f27c7b8eb66962cd90sewardj  : _geometry( geometry_ )
1071636ad762e49597ef608323f27c7b8eb66962cd90sewardj{
1072636ad762e49597ef608323f27c7b8eb66962cd90sewardj}
1073b85e8bba97fdae7d892f7bfd12e4601307e4721dcerionvoid Magick::resizeImage::operator()( Magick::Image &image_ ) const
1074636ad762e49597ef608323f27c7b8eb66962cd90sewardj{
1075636ad762e49597ef608323f27c7b8eb66962cd90sewardj  image_.resize( _geometry );
1076636ad762e49597ef608323f27c7b8eb66962cd90sewardj}
1077636ad762e49597ef608323f27c7b8eb66962cd90sewardj
1078636ad762e49597ef608323f27c7b8eb66962cd90sewardj// Zoom image to specified size.
1079636ad762e49597ef608323f27c7b8eb66962cd90sewardjMagick::zoomImage::zoomImage( const Magick::Geometry &geometry_ )
1080636ad762e49597ef608323f27c7b8eb66962cd90sewardj  : _geometry( geometry_ )
1081636ad762e49597ef608323f27c7b8eb66962cd90sewardj{
1082c9a43665879a03886b27a65b68af2a2c11b04f59sewardj}
1083c9a43665879a03886b27a65b68af2a2c11b04f59sewardjvoid Magick::zoomImage::operator()( Magick::Image &image_ ) const
1084c9a43665879a03886b27a65b68af2a2c11b04f59sewardj{
1085f0c1c58d6e47608ce166058997f795f1d7d45127sewardj  image_.zoom( _geometry );
1086f0c1c58d6e47608ce166058997f795f1d7d45127sewardj}
1087f0c1c58d6e47608ce166058997f795f1d7d45127sewardj
1088f0c1c58d6e47608ce166058997f795f1d7d45127sewardj//
1089c9a43665879a03886b27a65b68af2a2c11b04f59sewardj// Function object image attribute accessors
1090f0c1c58d6e47608ce166058997f795f1d7d45127sewardj//
1091f0c1c58d6e47608ce166058997f795f1d7d45127sewardj
1092164f9275c465cd09ecd09276b8542282f5def250sewardj// Anti-alias Postscript and TrueType fonts (default true)
1093f0c1c58d6e47608ce166058997f795f1d7d45127sewardjMagick::antiAliasImage::antiAliasImage( const bool flag_ )
1094f0c1c58d6e47608ce166058997f795f1d7d45127sewardj  : _flag( flag_ )
1095f0c1c58d6e47608ce166058997f795f1d7d45127sewardj{
1096f0c1c58d6e47608ce166058997f795f1d7d45127sewardj}
109770f676d62218657de2d230d495ccd775909e107dsewardjvoid Magick::antiAliasImage::operator()( Magick::Image &image_ ) const
1098164f9275c465cd09ecd09276b8542282f5def250sewardj{
1099164f9275c465cd09ecd09276b8542282f5def250sewardj  image_.antiAlias( _flag );
1100164f9275c465cd09ecd09276b8542282f5def250sewardj}
1101f0c1c58d6e47608ce166058997f795f1d7d45127sewardj
1102f0c1c58d6e47608ce166058997f795f1d7d45127sewardj// Join images into a single multi-image file
1103164f9275c465cd09ecd09276b8542282f5def250sewardjMagick::adjoinImage::adjoinImage( const bool flag_ )
1104f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion  : _flag( flag_ )
1105f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion{
1106f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion}
11072e38386d2f5902feed6ec276c2c2292a137717b9sewardjvoid Magick::adjoinImage::operator()( Magick::Image &image_ ) const
11082e38386d2f5902feed6ec276c2c2292a137717b9sewardj{
110970f676d62218657de2d230d495ccd775909e107dsewardj  image_.adjoin( _flag );
1110164f9275c465cd09ecd09276b8542282f5def250sewardj}
11112fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11122fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Time in 1/100ths of a second which must expire before displaying
11132fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// the next image in an animated sequence.
1114164f9275c465cd09ecd09276b8542282f5def250sewardjMagick::animationDelayImage::animationDelayImage( const size_t delay_ )
1115164f9275c465cd09ecd09276b8542282f5def250sewardj  : _delay( delay_ )
11162fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11172fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11182fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::animationDelayImage::operator()( Magick::Image &image_ ) const
1119164f9275c465cd09ecd09276b8542282f5def250sewardj{
1120164f9275c465cd09ecd09276b8542282f5def250sewardj  image_.animationDelay( _delay );
11212fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11222fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11232fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Number of iterations to loop an animation (e.g. Netscape loop
112424d06f124e3325e8edcc1c495d15736d5adcda96cerion// extension) for.
11251ac656a3b8eead55eeb0fb9090efec1c6719f989cerionMagick::animationIterationsImage::animationIterationsImage( const size_t iterations_ )
11261ac656a3b8eead55eeb0fb9090efec1c6719f989cerion  : _iterations( iterations_ )
11272fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11282fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11292fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::animationIterationsImage::operator()( Magick::Image &image_ ) const
11302fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11312fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.animationIterations( _iterations );
11322fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11332fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11342fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Image background color
11352fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::backgroundColorImage::backgroundColorImage( const Magick::Color &color_ )
11362fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _color( color_ )
11372fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11382fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11392fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::backgroundColorImage::operator()( Magick::Image &image_ ) const
11402fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11412fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.backgroundColor( _color );
11422fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11432fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11442fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Name of texture image to tile onto the image background
11452fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::backgroundTextureImage::backgroundTextureImage( const std::string &backgroundTexture_ )
11462fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _backgroundTexture( backgroundTexture_ )
11472fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11482fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11492fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::backgroundTextureImage::operator()( Magick::Image &image_ ) const
11502fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11512fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.backgroundTexture( _backgroundTexture );
11522fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11532fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11542fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Image border color
11552fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::borderColorImage::borderColorImage( const Magick::Color &color_ )
11562fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _color( color_ )
11572fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11582fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11592fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::borderColorImage::operator()( Magick::Image &image_ ) const
11602fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11611ac656a3b8eead55eeb0fb9090efec1c6719f989cerion  image_.borderColor( _color );
11625ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj}
1163f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion
1164f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion// Text bounding-box base color (default none)
1165164f9275c465cd09ecd09276b8542282f5def250sewardjMagick::boxColorImage::boxColorImage( const Magick::Color &boxColor_ )
1166164f9275c465cd09ecd09276b8542282f5def250sewardj  : _boxColor( boxColor_ ) { }
1167f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion
1168f887b3e44be206c5aad8039dc33e8e3102aaae7ecerionvoid Magick::boxColorImage::operator()( Magick::Image &image_ ) const
1169f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion{
1170f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion  image_.boxColor( _boxColor );
1171164f9275c465cd09ecd09276b8542282f5def250sewardj}
1172164f9275c465cd09ecd09276b8542282f5def250sewardj
1173164f9275c465cd09ecd09276b8542282f5def250sewardj// Chromaticity blue primary point (e.g. x=0.15, y=0.06)
117469d98e3853a63e578e039894e2ef00ca6f9878c8sewardjMagick::chromaBluePrimaryImage::chromaBluePrimaryImage( const double x_,
1175f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion                                                        const double y_ )
1176164f9275c465cd09ecd09276b8542282f5def250sewardj  : _x( x_ ),
11772fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _y( y_ )
11782fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11792fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11802fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::chromaBluePrimaryImage::operator()( Magick::Image &image_ ) const
11812fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11822fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.chromaBluePrimary( _x, _y );
1183164f9275c465cd09ecd09276b8542282f5def250sewardj}
11842a4b8459fa6ccd298263990296b955a36e313398cerion
11852a4b8459fa6ccd298263990296b955a36e313398cerion// Chromaticity green primary point (e.g. x=0.3, y=0.6)
11862fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::chromaGreenPrimaryImage::chromaGreenPrimaryImage( const double x_,
1187164f9275c465cd09ecd09276b8542282f5def250sewardj                                                          const double y_ )
1188f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion  : _x( x_ ),
11892fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _y( y_ )
11902fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
11912fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11922fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::chromaGreenPrimaryImage::operator()( Magick::Image &image_ ) const
11931bee561912427ca8f8998c89b62d86ba2ee49732sewardj{
1194f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion  image_.chromaGreenPrimary( _x, _y );
11952fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
11962fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
11972fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Chromaticity red primary point (e.g. x=0.64, y=0.33)
11982fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::chromaRedPrimaryImage::chromaRedPrimaryImage( const double x_,
11992fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj                                                      const double y_ )
12002fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _x( x_ ),
12012fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj    _y( y_ )
12022fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12035f438dd73072211989c6d496845bdc9b777ecbecsewardj}
12045f438dd73072211989c6d496845bdc9b777ecbecsewardjvoid Magick::chromaRedPrimaryImage::operator()( Magick::Image &image_ ) const
1205c9bff7dbb37ba2ee5898ef49aefaa92095ab446bsewardj{
12065f438dd73072211989c6d496845bdc9b777ecbecsewardj  image_.chromaRedPrimary( _x, _y );
12075f438dd73072211989c6d496845bdc9b777ecbecsewardj}
12085f438dd73072211989c6d496845bdc9b777ecbecsewardj
12095f438dd73072211989c6d496845bdc9b777ecbecsewardj// Chromaticity white point (e.g. x=0.3127, y=0.329)
12105f438dd73072211989c6d496845bdc9b777ecbecsewardjMagick::chromaWhitePointImage::chromaWhitePointImage( const double x_,
12115f438dd73072211989c6d496845bdc9b777ecbecsewardj                                                      const double y_ )
12125f438dd73072211989c6d496845bdc9b777ecbecsewardj  : _x( x_ ),
12135f438dd73072211989c6d496845bdc9b777ecbecsewardj    _y( y_ )
12145f438dd73072211989c6d496845bdc9b777ecbecsewardj{
12155f438dd73072211989c6d496845bdc9b777ecbecsewardj}
12165f438dd73072211989c6d496845bdc9b777ecbecsewardjvoid Magick::chromaWhitePointImage::operator()( Magick::Image &image_ ) const
12175f438dd73072211989c6d496845bdc9b777ecbecsewardj{
12185f438dd73072211989c6d496845bdc9b777ecbecsewardj  image_.chromaWhitePoint( _x, _y );
12195f438dd73072211989c6d496845bdc9b777ecbecsewardj}
12205f438dd73072211989c6d496845bdc9b777ecbecsewardj
12212fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Colors within this distance are considered equal
12225f438dd73072211989c6d496845bdc9b777ecbecsewardjMagick::colorFuzzImage::colorFuzzImage( const double fuzz_ )
12232fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _fuzz( fuzz_ )
12242fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12255f438dd73072211989c6d496845bdc9b777ecbecsewardj}
12262fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::colorFuzzImage::operator()( Magick::Image &image_ ) const
12275f438dd73072211989c6d496845bdc9b777ecbecsewardj{
12285f438dd73072211989c6d496845bdc9b777ecbecsewardj  image_.colorFuzz( _fuzz );
12292fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12302fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
12312fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Color at colormap position index_
1232164f9275c465cd09ecd09276b8542282f5def250sewardjMagick::colorMapImage::colorMapImage( const size_t index_,
1233164f9275c465cd09ecd09276b8542282f5def250sewardj                                      const Color &color_ )
1234164f9275c465cd09ecd09276b8542282f5def250sewardj  : _index( index_ ),
1235164f9275c465cd09ecd09276b8542282f5def250sewardj    _color( color_ )
12362fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
1237f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion}
12382fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::colorMapImage::operator()( Magick::Image &image_ ) const
12392fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12402fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.colorMap( _index, _color );
12412fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12422fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
12432fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Composition operator to be used when composition is implicitly used
12442fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// (such as for image flattening).
12452fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::composeImage::composeImage( const CompositeOperator compose_ )
12462fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _compose( compose_ )
12472fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12482fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12492fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::composeImage::operator()( Magick::Image &image_ ) const
12502fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12512fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.compose( _compose );
12522fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
1253f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion
1254f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion// Compression type
12552fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::compressTypeImage::compressTypeImage( const CompressionType compressType_ )
12562fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _compressType( compressType_ )
12572fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12582fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12592fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::compressTypeImage::operator()( Magick::Image &image_ ) const
12602fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12612fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.compressType( _compressType );
12622fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12632fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj
12642fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj// Vertical and horizontal resolution in pixels of the image
12652fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjMagick::densityImage::densityImage( const Geometry &geomery_ )
12662fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  : _geomery( geomery_ )
12672fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12682fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12692fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::densityImage::operator()( Magick::Image &image_ ) const
12702fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12712fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.density( _geomery );
1272f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion}
1273f887b3e44be206c5aad8039dc33e8e3102aaae7ecerion
1274dc1f91317b466ccabbe21bf0feda19658d5b614bsewardj// Image depth (bits allocated to red/green/blue components)
1275dc1f91317b466ccabbe21bf0feda19658d5b614bsewardjMagick::depthImage::depthImage( const size_t depth_ )
1276dc1f91317b466ccabbe21bf0feda19658d5b614bsewardj  : _depth( depth_ )
1277dc1f91317b466ccabbe21bf0feda19658d5b614bsewardj{
12782fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
12792fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::depthImage::operator()( Magick::Image &image_ ) const
12802fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
12812fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj  image_.depth( _depth );
12822fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj}
1283ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj
1284ac6b7121413a24ce2f63727d50ac4f3a1b9027e6sewardj// Endianness (LSBEndian like Intel or MSBEndian like SPARC) for image
1285ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj// formats which support endian-specific options.
128657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::endianImage::endianImage( const Magick::EndianType endian_ )
128735421a3cfd43bc829d27ee15bd34bbc7cb690805sewardj  : _endian( endian_ )
1288ec6ad593611ccd69f797e3add4d23a5f31aa84d6sewardj{
1289e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj}
1290b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardjvoid Magick::endianImage::operator()( Magick::Image &image_ ) const
1291f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj{
1292f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj  image_.endian( _endian );
1293f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj}
1294c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj
1295f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj// Image file name
1296f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardjMagick::fileNameImage::fileNameImage( const std::string &fileName_ )
1297f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj  : _fileName( fileName_ )
1298f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj{
1299f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardj}
1300f1b5b1a3c39f248c6634c78619971ac41d0a9726sewardjvoid Magick::fileNameImage::operator()( Magick::Image &image_ ) const
1301c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj{
1302c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj  image_.fileName( _fileName );
1303c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj}
1304c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj
1305c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj// Filter to use when resizing image
1306c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardjMagick::filterTypeImage::filterTypeImage( const FilterTypes filterType_ )
1307c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj  : _filterType( filterType_ )
1308c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj{
1309c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj}
1310c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardjvoid Magick::filterTypeImage::operator()( Magick::Image &image_ ) const
1311c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj{
1312c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj  image_.filterType( _filterType );
1313c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardj}
13142019a976f07ff418dde2dfc7cc74667ef66d7764sewardj
13152019a976f07ff418dde2dfc7cc74667ef66d7764sewardj// Text rendering font
1316c9868d7a6cdf51c3c23365d3b3bd4af5e80d30e1sewardjMagick::fontImage::fontImage( const std::string &font_ )
1317c97096c44637ae5775ed305b19f16f0b505f17d8sewardj  : _font( font_ )
1318b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj{
131957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
132057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::fontImage::operator()( Magick::Image &image_ ) const
132157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
132257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.font( _font );
1323c4356f0d3c74fc2622dbeed79c6c1045fc519f72sewardj}
132457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
132557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Font point size
1326dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::fontPointsizeImage::fontPointsizeImage( const size_t pointsize_ )
132757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _pointsize( pointsize_ )
132857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
132957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
133057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::fontPointsizeImage::operator()( Magick::Image &image_ ) const
133157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
133257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.fontPointsize( _pointsize );
133357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
133457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
133557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// GIF disposal method
133657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::gifDisposeMethodImage::gifDisposeMethodImage( const size_t disposeMethod_ )
1337b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj  : _disposeMethod( disposeMethod_ )
133857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
133957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
134057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::gifDisposeMethodImage::operator()( Magick::Image &image_ ) const
134157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
134257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.gifDisposeMethod( _disposeMethod );
1343b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj}
134457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
134557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Type of interlacing to use
134657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::interlaceTypeImage::interlaceTypeImage( const InterlaceType interlace_ )
134757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _interlace( interlace_ )
134857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
134957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
13505ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardjvoid Magick::interlaceTypeImage::operator()( Magick::Image &image_ ) const
135157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
135257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.interlaceType( _interlace );
135357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
135457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
135557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Linewidth for drawing vector objects (default one)
135657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::lineWidthImage::lineWidthImage( const double lineWidth_ )
135757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _lineWidth( lineWidth_ )
135857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
13595ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj}
136057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::lineWidthImage::operator()( Magick::Image &image_ ) const
136157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
136257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.lineWidth( _lineWidth );
136357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
136457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
136557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// File type magick identifier (.e.g "GIF")
136657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::magickImage::magickImage( const std::string &magick_ )
13675ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj  : _magick( magick_ )
136857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
136957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
137057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::magickImage::operator()( Magick::Image &image_ ) const
137157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
137257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.magick( _magick );
13735ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj}
137457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1375dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Image supports transparent color
137657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::matteImage::matteImage( const bool matteFlag_ )
137757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _matteFlag( matteFlag_ )
13785ce5fd60b7690ed8fdbaba9334d4d54929264da2sewardj{
137957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
138057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::matteImage::operator()( Magick::Image &image_ ) const
138157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
1382b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj  image_.matte( _matteFlag );
138357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
138457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1385b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj// Transparent color
138657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::matteColorImage::matteColorImage( const Color &matteColor_ )
1387b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj  : _matteColor( matteColor_ )
138857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
1389b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj}
139057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::matteColorImage::operator()( Magick::Image &image_ ) const
139157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
139257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.matteColor( _matteColor );
1393b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj}
139457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
139557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Indicate that image is black and white
139657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::monochromeImage::monochromeImage( const bool monochromeFlag_ )
139757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _monochromeFlag( monochromeFlag_ )
139857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
139957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
1400b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardjvoid Magick::monochromeImage::operator()( Magick::Image &image_ ) const
140157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
140257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.monochrome( _monochromeFlag );
140357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
140457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1405dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Pen color
1406dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::penColorImage::penColorImage( const Color &penColor_ )
1407dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  : _penColor( penColor_ )
140857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
1409b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardj}
141057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::penColorImage::operator()( Magick::Image &image_ ) const
141157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
141257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.penColor( _penColor );
141357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
141457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1415dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj// Pen texture image.
1416b3bce0e2d130a9a4efcb8bcda8011fd58c4a9998sewardjMagick::penTextureImage::penTextureImage( const Image &penTexture_ )
141757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _penTexture( penTexture_ )
141857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
141957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
142057c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::penTextureImage::operator()( Magick::Image &image_ ) const
142157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
142257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.penTexture( _penTexture );
142357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
142457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
142557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Set pixel color at location x & y.
142657c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::pixelColorImage::pixelColorImage( const ssize_t x_,
142757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                          const ssize_t y_,
142857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj                                          const Color &color_)
142957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _x( x_ ),
143057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _y( y_ ),
143157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj    _color( color_ ) { }
143257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
143357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::pixelColorImage::operator()( Magick::Image &image_ ) const
143457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
143557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.pixelColor( _x, _y, _color );
143657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
143757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
143857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Postscript page size.
143957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::pageImage::pageImage( const Geometry &pageSize_ )
144057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _pageSize( pageSize_ )
144157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
144257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
144357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::pageImage::operator()( Magick::Image &image_ ) const
144457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
144557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.page( _pageSize );
144657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
144757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1448d1725d18b61bf7912a9099686179faef5815dba1sewardj// JPEG/MIFF/PNG compression level (default 75).
144957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::qualityImage::qualityImage( const size_t quality_ )
145057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _quality( quality_ )
145157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
145257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
145357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::qualityImage::operator()( Magick::Image &image_ ) const
145457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
145557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.quality( _quality );
1456e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj}
1457e768e92e054cde495849a5c842a477d287677f78sewardj
1458e768e92e054cde495849a5c842a477d287677f78sewardj// Maximum number of colors to quantize to
1459e768e92e054cde495849a5c842a477d287677f78sewardjMagick::quantizeColorsImage::quantizeColorsImage( const size_t colors_ )
1460e768e92e054cde495849a5c842a477d287677f78sewardj  : _colors( colors_ )
146157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
146257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
146357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::quantizeColorsImage::operator()( Magick::Image &image_ ) const
146457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
146557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.quantizeColors( _colors );
146657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
146757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
146857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Colorspace to quantize in.
146957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::quantizeColorSpaceImage::quantizeColorSpaceImage( const ColorspaceType colorSpace_ )
147057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _colorSpace( colorSpace_ )
147157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
147257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
147357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::quantizeColorSpaceImage::operator()( Magick::Image &image_ ) const
147457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
147557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.quantizeColorSpace( _colorSpace );
147657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
147757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
147857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Dither image during quantization (default true).
147957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::quantizeDitherImage::quantizeDitherImage( const bool ditherFlag_ )
148057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _ditherFlag( ditherFlag_ )
148157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
148257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
148357c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::quantizeDitherImage::operator()( Magick::Image &image_ ) const
148457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
148557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.quantizeDither( _ditherFlag );
148657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
148757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1488e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardj// Quantization tree-depth
148957c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::quantizeTreeDepthImage::quantizeTreeDepthImage( const size_t treeDepth_ )
149057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _treeDepth( treeDepth_ ) { }
149157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
149257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::quantizeTreeDepthImage::operator()( Magick::Image &image_ ) const
149357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
149457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.quantizeTreeDepth( _treeDepth );
149557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
149657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
149757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// The type of rendering intent
149857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::renderingIntentImage::renderingIntentImage( const Magick::RenderingIntent renderingIntent_ )
149957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _renderingIntent( renderingIntent_ )
150057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
150157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
150257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::renderingIntentImage::operator()( Magick::Image &image_ ) const
150357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
150457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.renderingIntent( _renderingIntent );
150557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
150657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
150757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Units of image resolution
150857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::resolutionUnitsImage::resolutionUnitsImage( const Magick::ResolutionType resolutionUnits_ )
150957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _resolutionUnits( resolutionUnits_ )
151057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
151157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
151257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::resolutionUnitsImage::operator()( Magick::Image &image_ ) const
151357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
151457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.resolutionUnits( _resolutionUnits );
151557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
151657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
151757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Image scene number
151857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::sceneImage::sceneImage( const size_t scene_ )
151957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _scene( scene_ )
152057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
152157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
152257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::sceneImage::operator()( Magick::Image &image_ ) const
152357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
152457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.scene( _scene );
152557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
152657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
152757c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Width and height of a raw image
152857c10c89904f7fdc4244fcbf704625e7169aafe6sewardjMagick::sizeImage::sizeImage( const Magick::Geometry &geometry_ )
152957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _geometry( geometry_ )
153057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
153157c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
153257c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::sizeImage::operator()( Magick::Image &image_ ) const
153357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
153457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.size( _geometry );
153557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
153657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
1537443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardj// Splice the background color into the image.
1538443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardjMagick::spliceImage::spliceImage( const Magick::Geometry &geometry_ )
1539dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  : _geometry( geometry_ )
1540dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj{
154140c802659108a96bb87cbc1a30b7b77e2abd0829sewardj}
154240c802659108a96bb87cbc1a30b7b77e2abd0829sewardjvoid Magick::spliceImage::operator()( Magick::Image &image_ ) const
1543b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj{
1544b183b8571b4ec98866ce2b3653a9d066cf5f16f4sewardj  image_.splice( _geometry );
1545443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardj}
1546443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardj
1547e768e92e054cde495849a5c842a477d287677f78sewardj// stripImage strips an image of all profiles and comments.
1548443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardjMagick::stripImage::stripImage( void )
15498ea867b06de73d909c29e243407713c291c8414esewardj{
1550443cd9d34617dd7608e5dd4b4b0b4674d4f433e7sewardj}
1551c97096c44637ae5775ed305b19f16f0b505f17d8sewardjvoid Magick::stripImage::operator()( Magick::Image &image_ ) const
155257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
1553dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  image_.strip( );
1554695cff9303ef5dc8079117acfd632b44edb1f010sewardj}
155557c10c89904f7fdc4244fcbf704625e7169aafe6sewardj
155635421a3cfd43bc829d27ee15bd34bbc7cb690805sewardj// Subimage of an image sequence
1557e3d0d2ea7b2161ae4f627882be33902ce5f3f8besewardjMagick::subImageImage::subImageImage( const size_t subImage_ )
155857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _subImage( subImage_ )
155957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
1560c5fc7aa465504e5d5ad2d1820a84b4c143775655sewardj}
1561f96552617c82834ece36184e674e249faa899b2fsewardjvoid Magick::subImageImage::operator()( Magick::Image &image_ ) const
1562f96552617c82834ece36184e674e249faa899b2fsewardj{
1563f96552617c82834ece36184e674e249faa899b2fsewardj  image_.subImage( _subImage );
1564f96552617c82834ece36184e674e249faa899b2fsewardj}
156578ec32b319ab7b3b82711d9e8b58bc10ee6fe366sewardj
156678ec32b319ab7b3b82711d9e8b58bc10ee6fe366sewardj// Number of images relative to the base image
156778ec32b319ab7b3b82711d9e8b58bc10ee6fe366sewardjMagick::subRangeImage::subRangeImage( const size_t subRange_ )
156878ec32b319ab7b3b82711d9e8b58bc10ee6fe366sewardj  : _subRange( subRange_ )
156978ec32b319ab7b3b82711d9e8b58bc10ee6fe366sewardj{
1570f32c67d5eab8bcc5762ce67801f88b55c8f1cd05sewardj}
15712fdd41628b79039a9586c7a601cc7ddcd376fccfsewardjvoid Magick::subRangeImage::operator()( Magick::Image &image_ ) const
15722fdd41628b79039a9586c7a601cc7ddcd376fccfsewardj{
1573c5fc7aa465504e5d5ad2d1820a84b4c143775655sewardj  image_.subRange( _subRange );
157457c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
1575dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj
157657c10c89904f7fdc4244fcbf704625e7169aafe6sewardj// Image storage type
1577dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardjMagick::typeImage::typeImage( const Magick::ImageType type_ )
1578dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj  : _type( type_ )
1579dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj{
1580c5fc7aa465504e5d5ad2d1820a84b4c143775655sewardj}
1581f96552617c82834ece36184e674e249faa899b2fsewardjvoid Magick::typeImage::operator()( Magick::Image &image_ ) const
158257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
158349651f4b59b1ab7e0e70cccd34001630eafbe957sewardj  image_.type( _type );
158449651f4b59b1ab7e0e70cccd34001630eafbe957sewardj}
1585f96552617c82834ece36184e674e249faa899b2fsewardj
1586f96552617c82834ece36184e674e249faa899b2fsewardj// Print detailed information about the image
1587f96552617c82834ece36184e674e249faa899b2fsewardjMagick::verboseImage::verboseImage( const bool verbose_ )
15882d49b43ae3dd3756ed6a6d7a66b54c7bd7e03af6sewardj  : _verbose( verbose_ )
1589f96552617c82834ece36184e674e249faa899b2fsewardj{
1590f96552617c82834ece36184e674e249faa899b2fsewardj}
159149651f4b59b1ab7e0e70cccd34001630eafbe957sewardjvoid Magick::verboseImage::operator()( Magick::Image &image_ ) const
159257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
159357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.verbose( _verbose );
1594496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj}
1595dd40fdf58cc8a6fe9466c4f00bdfc9fe9bf00449sewardj
159649651f4b59b1ab7e0e70cccd34001630eafbe957sewardj// FlashPix viewing parameters
159749651f4b59b1ab7e0e70cccd34001630eafbe957sewardjMagick::viewImage::viewImage( const std::string &view_ )
1598496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj  : _view( view_ ) { }
1599496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj
1600496a58d130a28ac3a5ba33c9012dabbe61dc852csewardjvoid Magick::viewImage::operator()( Magick::Image &image_ ) const
1601496a58d130a28ac3a5ba33c9012dabbe61dc852csewardj{
1602e87b4840dc364d8203ccd3d6eeda348695cb4b8asewardj  image_.view( _view );
1603893aadad7f29f7801ce26cb7575c16e90bd3767fsewardj}
1604893aadad7f29f7801ce26cb7575c16e90bd3767fsewardj
1605893aadad7f29f7801ce26cb7575c16e90bd3767fsewardj// X11 display to display to, obtain fonts from, or to capture image
1606893aadad7f29f7801ce26cb7575c16e90bd3767fsewardj// from
16077ce9d15f4208aa08dfb1e605b3cad53ff03a84e4sewardjMagick::x11DisplayImage::x11DisplayImage( const std::string &display_ )
160857c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  : _display( display_ )
160957c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
161057c10c89904f7fdc4244fcbf704625e7169aafe6sewardj}
161157c10c89904f7fdc4244fcbf704625e7169aafe6sewardjvoid Magick::x11DisplayImage::operator()( Magick::Image &image_ ) const
161257c10c89904f7fdc4244fcbf704625e7169aafe6sewardj{
161357c10c89904f7fdc4244fcbf704625e7169aafe6sewardj  image_.x11Display( _display );
16149dd9cf1cb0b6915fc2f7dff642455ca41e162649sewardj}
16159dd9cf1cb0b6915fc2f7dff642455ca41e162649sewardj