13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// This may look like C code, but it is really -*- C++ -*-
23ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copyright Bob Friesenhahn, 1999, 2002
4b6f009f769ad7a6ca2c83d00e06565e64fc65aaddirk// Copyright Dirk Lemstra 2013-2016
53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Implementation of STL classes and functions
73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICKCORE_IMPLEMENTATION  1
103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk#include <Magick++/Functions.h>
133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <Magick++/Image.h>
143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <Magick++/STL.h>
153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Adaptive-blur image with specified blur factor
173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::adaptiveBlurImage::adaptiveBlurImage( const double radius_,
183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      const double sigma_  )
193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _radius( radius_ ),
203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _sigma( sigma_ )
213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::adaptiveBlurImage::operator()( Magick::Image &image_ ) const
243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.adaptiveBlur( _radius, _sigma );
263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Local adaptive threshold image
29eaedf06777741da32408da72c1e512975c600c48cristyMagick::adaptiveThresholdImage::adaptiveThresholdImage( const size_t width_,
30eaedf06777741da32408da72c1e512975c600c48cristy                                                        const size_t height_,
314e0eef0224b2612b06c74d42d7f7c20f66f7f8b3cristy                                                        const ssize_t offset_ )
323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _width(width_),
333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _height(height_),
343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _offset(offset_)
353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::adaptiveThresholdImage::operator()( Magick::Image &image_ ) const
383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.adaptiveThreshold( _width, _height, _offset );
403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Add noise to image with specified noise type
433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::addNoiseImage::addNoiseImage( Magick::NoiseType noiseType_ )
443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _noiseType( noiseType_ )
453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
473ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::addNoiseImage::operator()( Magick::Image &image_ ) const
483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.addNoise( _noiseType );
503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Transform image by specified affine (or free transform) matrix.
533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::affineTransformImage::affineTransformImage( const DrawableAffine &affine_  )
543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _affine( affine_ )
553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::affineTransformImage::operator()( Magick::Image &image_ ) const
583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.affineTransform( _affine );
603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Annotate image (draw text on image)
633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Annotate using specified text, and placement location
653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::annotateImage::annotateImage ( const std::string &text_,
663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                       const Magick::Geometry &geometry_ )
673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _text( text_ ),
683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy	_geometry( geometry_ ),
693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy	_gravity( Magick::NorthWestGravity ),
703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _degrees( 0 )
713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Annotate using specified text, bounding area, and placement gravity
743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::annotateImage::annotateImage ( const std::string &text_,
753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                       const Magick::Geometry &geometry_,
763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                       const Magick::GravityType gravity_ )
773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _text( text_ ),
783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _geometry( geometry_ ),
793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gravity( gravity_ ),
803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _degrees( 0 )
813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Annotate with text using specified text, bounding area, placement
843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// gravity, and rotation.
853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::annotateImage::annotateImage ( const std::string &text_,
863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                    const Magick::Geometry &geometry_,
873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                    const Magick::GravityType gravity_,
883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                    const double degrees_ )
893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _text( text_ ),
903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _geometry( geometry_ ),
913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _gravity( gravity_ ),
923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _degrees( degrees_ )
933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Annotate with text (bounding area is entire image) and placement
963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// gravity.
973ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::annotateImage::annotateImage ( const std::string &text_,
983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                       const Magick::GravityType gravity_ )
993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _text( text_ ),
1003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _geometry( ),
1013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gravity( gravity_ ),
1023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _degrees( 0 )
1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1053ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::annotateImage::operator()( Magick::Image &image_ ) const
1063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.annotate( _text, _geometry, _gravity, _degrees );
1083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Blur image with specified blur factor
1113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::blurImage::blurImage( const double radius_, const double sigma_  )
1123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _radius( radius_ ),
1133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _sigma( sigma_ )
1143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::blurImage::operator()( Magick::Image &image_ ) const
1173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.blur( _radius, _sigma );
1193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Border image (add border to image)
1223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::borderImage::borderImage( const Magick::Geometry &geometry_ )
1233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
1243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::borderImage::operator()( Magick::Image &image_ ) const
1273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.border( _geometry );
1293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Extract channel from image
1323ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::channelImage::channelImage( const Magick::ChannelType channel_ )
1333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _channel( channel_ )
1343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::channelImage::operator()( Magick::Image &image_ ) const
1373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.channel( _channel );
1393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Charcoal effect image (looks like charcoal sketch)
1423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::charcoalImage::charcoalImage( const double radius_, const double sigma_ )
1433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _radius( radius_ ),
1443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy        _sigma( sigma_ )
1453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1473ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::charcoalImage::operator()( Magick::Image &image_ ) const
1483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.charcoal( _radius, _sigma );
1503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Chop image (remove vertical or horizontal subregion of image)
1533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::chopImage::chopImage( const Magick::Geometry &geometry_ )
1543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
1553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::chopImage::operator()( Magick::Image &image_ ) const
1583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.chop( _geometry );
1603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
162b32b90a7e1ee2275333589072c496b5f69e17feccristy// accepts a lightweight Color Correction Collection (CCC) file which solely
163b32b90a7e1ee2275333589072c496b5f69e17feccristy// contains one or more color corrections and applies the correction to the
164b32b90a7e1ee2275333589072c496b5f69e17feccristy// image.
165b32b90a7e1ee2275333589072c496b5f69e17feccristyMagick::cdlImage::cdlImage( const std::string &cdl_ )
166b32b90a7e1ee2275333589072c496b5f69e17feccristy  : _cdl ( cdl_ )
167b32b90a7e1ee2275333589072c496b5f69e17feccristy{
168b32b90a7e1ee2275333589072c496b5f69e17feccristy}
169b32b90a7e1ee2275333589072c496b5f69e17feccristyvoid Magick::cdlImage::operator()( Image &image_ ) const
170b32b90a7e1ee2275333589072c496b5f69e17feccristy{
171b32b90a7e1ee2275333589072c496b5f69e17feccristy  image_.cdl( _cdl.c_str() );
172b32b90a7e1ee2275333589072c496b5f69e17feccristy}
173b32b90a7e1ee2275333589072c496b5f69e17feccristy
1744c08aed51c5899665ade97263692328eea4af106cristy// Colorize image using pen color at specified percent alpha
1754c08aed51c5899665ade97263692328eea4af106cristyMagick::colorizeImage::colorizeImage( const unsigned int alphaRed_,
1764c08aed51c5899665ade97263692328eea4af106cristy                                      const unsigned int alphaGreen_,
1774c08aed51c5899665ade97263692328eea4af106cristy                                      const unsigned int alphaBlue_,
1783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                      const Magick::Color &penColor_ )
1794c08aed51c5899665ade97263692328eea4af106cristy  : _alphaRed ( alphaRed_ ),
1804c08aed51c5899665ade97263692328eea4af106cristy    _alphaGreen ( alphaGreen_ ),
1814c08aed51c5899665ade97263692328eea4af106cristy    _alphaBlue ( alphaBlue_ ),
1823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _penColor( penColor_ )
1833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1854c08aed51c5899665ade97263692328eea4af106cristyMagick::colorizeImage::colorizeImage( const unsigned int alpha_,
1863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                      const Magick::Color &penColor_ )
1874c08aed51c5899665ade97263692328eea4af106cristy  : _alphaRed ( alpha_ ),
1884c08aed51c5899665ade97263692328eea4af106cristy    _alphaGreen ( alpha_ ),
1894c08aed51c5899665ade97263692328eea4af106cristy    _alphaBlue ( alpha_ ),
1903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _penColor( penColor_ )
1913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1933ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::colorizeImage::operator()( Magick::Image &image_ ) const
1943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1954c08aed51c5899665ade97263692328eea4af106cristy  image_.colorize( _alphaRed, _alphaGreen, _alphaBlue, _penColor );
1963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1985e959b608107ad7ddfc226f8a299ff053d68aa20cristy// Apply a color matrix to the image channels.  The user supplied
199c8918bb2b224f642b06140506fa85a3703fa0748cristy// matrix may be of order 1 to 5 (1x1 through 5x5).
200eaedf06777741da32408da72c1e512975c600c48cristyMagick::colorMatrixImage::colorMatrixImage( const size_t order_,
201c8918bb2b224f642b06140506fa85a3703fa0748cristy              const double *color_matrix_ )
202c8918bb2b224f642b06140506fa85a3703fa0748cristy  : _order( order_ ),
203c8918bb2b224f642b06140506fa85a3703fa0748cristy    _color_matrix( color_matrix_ )
2045e959b608107ad7ddfc226f8a299ff053d68aa20cristy{
2055e959b608107ad7ddfc226f8a299ff053d68aa20cristy}
2065e959b608107ad7ddfc226f8a299ff053d68aa20cristyvoid Magick::colorMatrixImage::operator()( Image &image_ ) const
2075e959b608107ad7ddfc226f8a299ff053d68aa20cristy{
208c8918bb2b224f642b06140506fa85a3703fa0748cristy  image_.colorMatrix( _order, _color_matrix );
2095e959b608107ad7ddfc226f8a299ff053d68aa20cristy}
2105e959b608107ad7ddfc226f8a299ff053d68aa20cristy
2113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Convert the image colorspace representation
2123ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::colorSpaceImage::colorSpaceImage( Magick::ColorspaceType colorSpace_ )
2133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _colorSpace( colorSpace_ )
2143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::colorSpaceImage::operator()( Magick::Image &image_ ) const
2173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.colorSpace( _colorSpace );
2193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Comment image (add comment string to image)
2223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::commentImage::commentImage( const std::string &comment_ )
2233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _comment( comment_ )
2243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::commentImage::operator()( Magick::Image &image_ ) const
2273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.comment( _comment );
2293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Compose an image onto another at specified offset and using
2323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// specified algorithm
2333ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::compositeImage::compositeImage( const Magick::Image &compositeImage_,
234d99b096901994c291fdd5b648c5ec9c12d675947cristy                                        ssize_t xOffset_,
235d99b096901994c291fdd5b648c5ec9c12d675947cristy                                        ssize_t yOffset_,
2363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                        Magick::CompositeOperator compose_  )
2373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _compositeImage( compositeImage_ ),
2383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _xOffset ( xOffset_ ),
2393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _yOffset ( yOffset_ ),
2403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _compose ( compose_ )
2413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::compositeImage::compositeImage( const Magick::Image &compositeImage_,
2443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                        const Magick::Geometry &offset_,
2453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                        Magick::CompositeOperator compose_  )
2463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _compositeImage( compositeImage_ ),
2473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _xOffset ( offset_.xOff() ),
2483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _yOffset ( offset_.yOff() ),
2493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _compose ( compose_ )
2503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2523ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::compositeImage::operator()( Image &image_ ) const
2533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.composite( _compositeImage, _xOffset, _yOffset, _compose );
2553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Contrast image (enhance intensity differences in image)
258eaedf06777741da32408da72c1e512975c600c48cristyMagick::contrastImage::contrastImage( const size_t sharpen_ )
2593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _sharpen( sharpen_ )
2603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2623ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::contrastImage::operator()( Magick::Image &image_ ) const
2633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.contrast( _sharpen );
2653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Crop image (subregion of original image)
2683ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::cropImage::cropImage( const Magick::Geometry &geometry_ )
2693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
2703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2723ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::cropImage::operator()( Magick::Image &image_ ) const
2733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.crop( _geometry );
2753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Cycle image colormap
278d99b096901994c291fdd5b648c5ec9c12d675947cristyMagick::cycleColormapImage::cycleColormapImage( const ssize_t amount_ )
2793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _amount( amount_ )
2803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::cycleColormapImage::operator()( Magick::Image &image_ ) const
2833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.cycleColormap( _amount );
2853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Despeckle image (reduce speckle noise)
2883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::despeckleImage::despeckleImage( void )
2893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2913ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::despeckleImage::operator()( Magick::Image &image_ ) const
2923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.despeckle( );
2943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
296b32b90a7e1ee2275333589072c496b5f69e17feccristy// Distort image.  distorts an image using various distortion methods, by
297b32b90a7e1ee2275333589072c496b5f69e17feccristy// mapping color lookups of the source image to a new destination image
298b32b90a7e1ee2275333589072c496b5f69e17feccristy// usally of the same size as the source image, unless 'bestfit' is set to
299b32b90a7e1ee2275333589072c496b5f69e17feccristy// true.
300827944d54938c1f8a74ff53cd35c11801060d995dirkMagick::distortImage::distortImage( const Magick::DistortMethod method_,
301bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy                                    const size_t number_arguments_,
302b32b90a7e1ee2275333589072c496b5f69e17feccristy                                    const double *arguments_,
303b32b90a7e1ee2275333589072c496b5f69e17feccristy                                    const bool bestfit_ )
304b32b90a7e1ee2275333589072c496b5f69e17feccristy  : _method ( method_ ),
305b32b90a7e1ee2275333589072c496b5f69e17feccristy    _number_arguments ( number_arguments_ ),
306b32b90a7e1ee2275333589072c496b5f69e17feccristy    _arguments ( arguments_ ),
307b32b90a7e1ee2275333589072c496b5f69e17feccristy    _bestfit( bestfit_ )
308b32b90a7e1ee2275333589072c496b5f69e17feccristy{
309b32b90a7e1ee2275333589072c496b5f69e17feccristy}
310827944d54938c1f8a74ff53cd35c11801060d995dirkMagick::distortImage::distortImage( const Magick::DistortMethod method_,
311bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy                                    const size_t number_arguments_,
312b32b90a7e1ee2275333589072c496b5f69e17feccristy                                    const double *arguments_ )
313b32b90a7e1ee2275333589072c496b5f69e17feccristy  : _method ( method_ ),
314b32b90a7e1ee2275333589072c496b5f69e17feccristy    _number_arguments ( number_arguments_ ),
315b32b90a7e1ee2275333589072c496b5f69e17feccristy    _arguments ( arguments_ ),
316b32b90a7e1ee2275333589072c496b5f69e17feccristy    _bestfit( false )
317b32b90a7e1ee2275333589072c496b5f69e17feccristy{
318b32b90a7e1ee2275333589072c496b5f69e17feccristy}
319b32b90a7e1ee2275333589072c496b5f69e17feccristyvoid Magick::distortImage::operator()( Magick::Image &image_ ) const
320b32b90a7e1ee2275333589072c496b5f69e17feccristy{
321b32b90a7e1ee2275333589072c496b5f69e17feccristy  image_.distort( _method, _number_arguments, _arguments, _bestfit );
322b32b90a7e1ee2275333589072c496b5f69e17feccristy}
323b32b90a7e1ee2275333589072c496b5f69e17feccristy
3243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Draw on image
3253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::drawImage::drawImage( const Magick::Drawable &drawable_ )
3263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _drawableList()
3273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  _drawableList.push_back( drawable_ );
3293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
330263b876b613ee3cddda42810a4b421a73895327cdirkMagick::drawImage::drawImage( const std::vector<Magick::Drawable> &drawable_ )
3313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _drawableList( drawable_ )
3323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3343ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::drawImage::operator()( Magick::Image &image_ ) const
3353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.draw( _drawableList );
3373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Edge image (hilight edges in image)
34071d2ce2d802b3a8fe0910fe2a0773d9776983b29cristyMagick::edgeImage::edgeImage( const double radius_ )
34171d2ce2d802b3a8fe0910fe2a0773d9776983b29cristy  : _radius( radius_ )
3423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3443ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::edgeImage::operator()( Magick::Image &image_ ) const
3453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
34671d2ce2d802b3a8fe0910fe2a0773d9776983b29cristy  image_.edge( _radius );
3473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Emboss image (hilight edges with 3D effect)
3503ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::embossImage::embossImage( void )
3513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _radius( 1 ),
3523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _sigma( 0.5 )
3533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::embossImage::embossImage( const double radius_, const double sigma_ )
3563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _radius( radius_ ),
3573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _sigma( sigma_ )
3583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::embossImage::operator()( Magick::Image &image_ ) const
3613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.emboss( _radius, _sigma );
3633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Enhance image (minimize noise)
3663ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::enhanceImage::enhanceImage( void )
3673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::enhanceImage::operator()( Magick::Image &image_ ) const
3703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.enhance( );
3723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Equalize image (histogram equalization)
3753ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::equalizeImage::equalizeImage( void )
3763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::equalizeImage::operator()( Magick::Image &image_ ) const
3793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.equalize( );
3813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Color to use when filling drawn objects
3843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::fillColorImage::fillColorImage( const Magick::Color &fillColor_ )
3853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _fillColor( fillColor_ )
3863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::fillColorImage::operator()( Magick::Image &image_ ) const
3893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.fillColor( _fillColor );
3913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Flip image (reflect each scanline in the vertical direction)
3943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::flipImage::flipImage( void )
3953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3973ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::flipImage::operator()( Magick::Image &image_ ) const
3983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.flip( );
4003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
402223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillAlphaImage::floodFillAlphaImage(const ssize_t x_,
403223843f66554713ee926b09f958ff6bfdb5acb61dirk  const ssize_t y_,const unsigned int alpha_,const Color &target_,
404223843f66554713ee926b09f958ff6bfdb5acb61dirk  const bool invert_)
405223843f66554713ee926b09f958ff6bfdb5acb61dirk  : _target(target_),
406223843f66554713ee926b09f958ff6bfdb5acb61dirk    _alpha(alpha_),
407223843f66554713ee926b09f958ff6bfdb5acb61dirk    _x(x_),
408223843f66554713ee926b09f958ff6bfdb5acb61dirk    _y(y_),
409223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
410223843f66554713ee926b09f958ff6bfdb5acb61dirk{
411223843f66554713ee926b09f958ff6bfdb5acb61dirk}
412223843f66554713ee926b09f958ff6bfdb5acb61dirk
413223843f66554713ee926b09f958ff6bfdb5acb61dirkvoid Magick::floodFillAlphaImage::operator()(Magick::Image &image_) const
414223843f66554713ee926b09f958ff6bfdb5acb61dirk{
415223843f66554713ee926b09f958ff6bfdb5acb61dirk  image_.floodFillAlpha(_x,_y,_alpha,_target,_invert);
416223843f66554713ee926b09f958ff6bfdb5acb61dirk}
417223843f66554713ee926b09f958ff6bfdb5acb61dirk
418223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillColorImage::floodFillColorImage(const ssize_t x_,
419223843f66554713ee926b09f958ff6bfdb5acb61dirk  const ssize_t y_,const Magick::Color &fillColor_,const bool invert_)
4203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(x_),
4213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(y_),
4223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _fillColor(fillColor_),
423223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(),
424223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
427223843f66554713ee926b09f958ff6bfdb5acb61dirk
428223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillColorImage::floodFillColorImage(
429223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Geometry &point_,const Magick::Color &fillColor_,
430223843f66554713ee926b09f958ff6bfdb5acb61dirk  const bool invert_)
4313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(point_.xOff()),
4323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(point_.yOff()),
4333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _fillColor(fillColor_),
434223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(),
435223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
438223843f66554713ee926b09f958ff6bfdb5acb61dirk
439223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillColorImage::floodFillColorImage(const ssize_t x_,
440223843f66554713ee926b09f958ff6bfdb5acb61dirk  const ssize_t y_,const Magick::Color &fillColor_,
441223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Color &borderColor_,const bool invert_)
4423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(x_),
4433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(y_),
4443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _fillColor(fillColor_),
445223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(borderColor_),
446223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
449223843f66554713ee926b09f958ff6bfdb5acb61dirk
450223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillColorImage::floodFillColorImage(const Geometry &point_,
451223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Color &fillColor_,const Color &borderColor_,const bool invert_)
4523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(point_.xOff()),
4533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(point_.yOff()),
4543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _fillColor(fillColor_),
455223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(borderColor_),
456223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
459223843f66554713ee926b09f958ff6bfdb5acb61dirkvoid Magick::floodFillColorImage::operator()(Magick::Image &image_) const
4603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
461223843f66554713ee926b09f958ff6bfdb5acb61dirk  if (_borderColor.isValid())
462223843f66554713ee926b09f958ff6bfdb5acb61dirk    image_.floodFillColor(_x,_y,_fillColor,_borderColor,_invert);
4633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  else
464223843f66554713ee926b09f958ff6bfdb5acb61dirk    image_.floodFillColor(_x,_y,_fillColor,_invert);
4653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
467223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillTextureImage::floodFillTextureImage(const ssize_t x_,
468223843f66554713ee926b09f958ff6bfdb5acb61dirk  const ssize_t y_,const Magick::Image &texture_,const bool invert_)
4693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(x_),
4703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(y_),
4713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _texture(texture_),
472223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(),
473223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
476223843f66554713ee926b09f958ff6bfdb5acb61dirk
477223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillTextureImage::floodFillTextureImage(
478223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Geometry &point_,const Magick::Image &texture_,
479223843f66554713ee926b09f958ff6bfdb5acb61dirk  const bool invert_)
4803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(point_.xOff()),
4813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(point_.yOff()),
4823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _texture(texture_),
483223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(),
484223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
487223843f66554713ee926b09f958ff6bfdb5acb61dirk
488223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillTextureImage::floodFillTextureImage(const ssize_t x_,
489223843f66554713ee926b09f958ff6bfdb5acb61dirk  const ssize_t y_,const Magick::Image &texture_,
490223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Color &borderColor_,const bool invert_)
4913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(x_),
4923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(y_),
4933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _texture(texture_),
494223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(borderColor_),
495223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
4963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
498223843f66554713ee926b09f958ff6bfdb5acb61dirk
499223843f66554713ee926b09f958ff6bfdb5acb61dirkMagick::floodFillTextureImage::floodFillTextureImage(
500223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Geometry &point_,const Magick::Image &texture_,
501223843f66554713ee926b09f958ff6bfdb5acb61dirk  const Magick::Color &borderColor_,const bool invert_)
5023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x(point_.xOff()),
5033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y(point_.yOff()),
5043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _texture(texture_),
505223843f66554713ee926b09f958ff6bfdb5acb61dirk    _borderColor(borderColor_),
506223843f66554713ee926b09f958ff6bfdb5acb61dirk    _invert(invert_)
5073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
509223843f66554713ee926b09f958ff6bfdb5acb61dirk
510223843f66554713ee926b09f958ff6bfdb5acb61dirkvoid Magick::floodFillTextureImage::operator()(Magick::Image &image_) const
5113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
512223843f66554713ee926b09f958ff6bfdb5acb61dirk  if (_borderColor.isValid())
513223843f66554713ee926b09f958ff6bfdb5acb61dirk    image_.floodFillTexture(_x,_y,_texture,_borderColor,_invert);
5143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  else
515223843f66554713ee926b09f958ff6bfdb5acb61dirk    image_.floodFillTexture(_x,_y,_texture,_invert);
5163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Flop image (reflect each scanline in the horizontal direction)
5193ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::flopImage::flopImage( void )
5203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::flopImage::operator()( Magick::Image &image_ ) const
5233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.flop( );
5253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Frame image
5283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::frameImage::frameImage( const Magick::Geometry &geometry_ )
5293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _width( geometry_.width() ),
5303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _height( geometry_.height() ),
5313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _outerBevel( geometry_.xOff() ),
5323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _innerBevel( geometry_.yOff() )
5333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
535eaedf06777741da32408da72c1e512975c600c48cristyMagick::frameImage::frameImage( const size_t width_, const size_t height_,
536d99b096901994c291fdd5b648c5ec9c12d675947cristy                                const ssize_t innerBevel_, const ssize_t outerBevel_ )
5373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _width( width_ ),
5383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _height( height_ ),
5393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _outerBevel( outerBevel_ ),
5403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _innerBevel( innerBevel_ )
5413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::frameImage::operator()( Magick::Image &image_ ) const
5443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.frame( _width, _height, _innerBevel, _outerBevel );
5463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Gamma correct image
5493ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::gammaImage::gammaImage( const double gamma_ )
5503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _gammaRed( gamma_ ),
5513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gammaGreen( gamma_ ),
5523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gammaBlue( gamma_ )
5533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::gammaImage::gammaImage ( const double gammaRed_,
5563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                 const double gammaGreen_,
5573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                 const double gammaBlue_ )
5583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _gammaRed( gammaRed_ ),
5593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gammaGreen( gammaGreen_ ),
5603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _gammaBlue( gammaBlue_ )
5613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::gammaImage::operator()( Magick::Image &image_ ) const
5643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.gamma( _gammaRed, _gammaGreen, _gammaBlue );
5663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Gaussian blur image
5693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// The number of neighbor pixels to be included in the convolution
5703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// mask is specified by 'width_'. The standard deviation of the
5713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// gaussian bell curve is specified by 'sigma_'.
5723ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::gaussianBlurImage::gaussianBlurImage( const double width_,
5733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                              const double sigma_ )
5743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _width( width_ ),
5753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _sigma( sigma_ )
5763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::gaussianBlurImage::operator()( Magick::Image &image_ ) const
5793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.gaussianBlur( _width, _sigma );
5813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
583b32b90a7e1ee2275333589072c496b5f69e17feccristy// Apply a color lookup table (Hald CLUT) to the image.
584b32b90a7e1ee2275333589072c496b5f69e17feccristyMagick::haldClutImage::haldClutImage( const Image &haldClutImage_ )
585b32b90a7e1ee2275333589072c496b5f69e17feccristy  : _haldClutImage ( haldClutImage_ )
586b32b90a7e1ee2275333589072c496b5f69e17feccristy{
587b32b90a7e1ee2275333589072c496b5f69e17feccristy}
588b32b90a7e1ee2275333589072c496b5f69e17feccristyvoid Magick::haldClutImage::operator()( Image &image_ ) const
589b32b90a7e1ee2275333589072c496b5f69e17feccristy{
590b32b90a7e1ee2275333589072c496b5f69e17feccristy  image_.haldClut( _haldClutImage );
591b32b90a7e1ee2275333589072c496b5f69e17feccristy}
592b32b90a7e1ee2275333589072c496b5f69e17feccristy
5933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Implode image (special effect)
5943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::implodeImage::implodeImage( const double factor_  )
5953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _factor( factor_ )
5963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5983ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::implodeImage::operator()( Magick::Image &image_ ) const
5993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.implode( _factor );
6013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
603529fcc251289b181417ebc355b221dcaa91b1611cristy// Implements the inverse discrete Fourier transform (IFT) of the image
604529fcc251289b181417ebc355b221dcaa91b1611cristy// either as a magnitude / phase or real / imaginary image pair.
605529fcc251289b181417ebc355b221dcaa91b1611cristyMagick::inverseFourierTransformImage::inverseFourierTransformImage( const Magick::Image &phaseImage_ )
606529fcc251289b181417ebc355b221dcaa91b1611cristy  : _phaseImage( phaseImage_ )
607529fcc251289b181417ebc355b221dcaa91b1611cristy{
608529fcc251289b181417ebc355b221dcaa91b1611cristy}
609529fcc251289b181417ebc355b221dcaa91b1611cristyvoid Magick::inverseFourierTransformImage::operator()( Magick::Image &image_ ) const
610529fcc251289b181417ebc355b221dcaa91b1611cristy{
611529fcc251289b181417ebc355b221dcaa91b1611cristy  image_.inverseFourierTransform( _phaseImage );
612529fcc251289b181417ebc355b221dcaa91b1611cristy}
613529fcc251289b181417ebc355b221dcaa91b1611cristy
6143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Set image validity. Valid images become empty (inValid) if argument
6153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// is false.
6163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::isValidImage::isValidImage( const bool isValid_  )
6173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _isValid( isValid_ )
6183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::isValidImage::operator()( Magick::Image &image_ ) const
6213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.isValid( _isValid );
6233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Label image
6263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::labelImage::labelImage( const std::string &label_ )
6273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _label( label_ )
6283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6303ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::labelImage::operator()( Magick::Image &image_ ) const
6313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.label( _label );
6333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Level image
6363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::levelImage::levelImage( const double black_point,
6373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                const double white_point,
6383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                const double mid_point )
6393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _black_point(black_point),
6403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _white_point(white_point),
6413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _mid_point(mid_point)
6423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6443ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::levelImage::operator()( Magick::Image &image_ ) const
6453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.level( _black_point, _white_point, _mid_point );
6473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Magnify image by integral size
6503ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::magnifyImage::magnifyImage( void )
6513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::magnifyImage::operator()( Magick::Image &image_ ) const
6543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.magnify( );
6563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Remap image colors with closest color from reference image
6593ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::mapImage::mapImage( const Magick::Image &mapImage_ ,
6603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                            const bool dither_ )
6613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _mapImage( mapImage_ ),
6623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _dither( dither_ )
6633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::mapImage::operator()( Magick::Image &image_ ) const
6663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.map( _mapImage, _dither );
6683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Filter image by replacing each pixel component with the median
6713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// color in a circular neighborhood
6725e6be1e6a77c230e4a204fa9163d873104730c35cristyMagick::medianConvolveImage::medianConvolveImage( const double radius_  )
6733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _radius( radius_ )
6743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6765e6be1e6a77c230e4a204fa9163d873104730c35cristyvoid Magick::medianConvolveImage::operator()( Magick::Image &image_ ) const
6773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.medianFilter( _radius );
6793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Reduce image by integral size
6823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::minifyImage::minifyImage( void )
6833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::minifyImage::operator()( Magick::Image &image_ ) const
6863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.minify( );
6883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Modulate percent hue, saturation, and brightness of an image
6913ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::modulateImage::modulateImage( const double brightness_,
6923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                      const double saturation_,
6933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                      const double hue_ )
6943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _brightness( brightness_ ),
6953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _saturation( saturation_ ),
6963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _hue( hue_ )
6973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::modulateImage::operator()( Magick::Image &image_ ) const
7003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.modulate( _brightness, _saturation, _hue );
7023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Negate colors in image.  Set grayscale to only negate grayscale
7053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// values in image.
7063ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::negateImage::negateImage( const bool grayscale_  )
7073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _grayscale( grayscale_ )
7083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7103ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::negateImage::operator()( Magick::Image &image_ ) const
7113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.negate( _grayscale );
7133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Normalize image (increase contrast by normalizing the pixel values
7163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// to span the full range of color values)
7173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::normalizeImage::normalizeImage( void )
7183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::normalizeImage::operator()( Magick::Image &image_ ) const
7213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.normalize( );
7233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Oilpaint image (image looks like oil painting)
7263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::oilPaintImage::oilPaintImage( const double radius_ )
7273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _radius( radius_ )
7283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7303ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::oilPaintImage::operator()( Magick::Image &image_ ) const
7313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.oilPaint( _radius );
7333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7354c08aed51c5899665ade97263692328eea4af106cristy// Set or attenuate the image alpha channel. If the image pixels are
7364c08aed51c5899665ade97263692328eea4af106cristy// opaque then they are set to the specified alpha value, otherwise
7374c08aed51c5899665ade97263692328eea4af106cristy// they are blended with the supplied alpha value.  The value of
7384c08aed51c5899665ade97263692328eea4af106cristy// alpha_ ranges from 0 (completely opaque) to QuantumRange. The defines
7394c08aed51c5899665ade97263692328eea4af106cristy// OpaqueAlpha and TransparentAlpha are available to specify
7403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// completely opaque or completely transparent, respectively.
7414c08aed51c5899665ade97263692328eea4af106cristyMagick::alphaImage::alphaImage( const unsigned int alpha_ )
7424c08aed51c5899665ade97263692328eea4af106cristy  : _alpha( alpha_ )
7433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7454c08aed51c5899665ade97263692328eea4af106cristyvoid Magick::alphaImage::operator()( Magick::Image &image_ ) const
7463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7474c08aed51c5899665ade97263692328eea4af106cristy  image_.alpha( _alpha );
7483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Change color of opaque pixel to specified pen color.
7513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::opaqueImage::opaqueImage( const Magick::Color &opaqueColor_,
7523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                  const Magick::Color &penColor_ )
7533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _opaqueColor( opaqueColor_ ),
7543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _penColor( penColor_ )
7553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::opaqueImage::operator()( Magick::Image &image_ ) const
7583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.opaque( _opaqueColor, _penColor );
7603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Quantize image (reduce number of colors)
7633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::quantizeImage::quantizeImage( const bool measureError_  )
7643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _measureError( measureError_ )
7653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7673ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::quantizeImage::operator()( Image &image_ ) const
7683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quantize( _measureError );
7703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
7723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Raise image (lighten or darken the edges of an image to give a 3-D
7733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// raised or lowered effect)
7743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::raiseImage::raiseImage( const Magick::Geometry &geometry_ ,
7753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                const bool raisedFlag_  )
7763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ ),
7773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _raisedFlag( raisedFlag_ )
7783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7803ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::raiseImage::operator()( Magick::Image &image_ ) const
7813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
7823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.raise( _geometry, _raisedFlag );
7833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
7843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
785cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagick::ReadOptions::ReadOptions(void)
786cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  : _imageInfo(static_cast<ImageInfo*>(AcquireMagickMemory(
78777328896b876314656427663695bc7b2c9be3f74dirk      sizeof(ImageInfo)))),
78877328896b876314656427663695bc7b2c9be3f74dirk    _quiet(false)
789cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
790cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  GetImageInfo(_imageInfo);
791cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
792cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
793cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagick::ReadOptions::ReadOptions(const Magick::ReadOptions& options_)
79477328896b876314656427663695bc7b2c9be3f74dirk  : _imageInfo(CloneImageInfo(options_._imageInfo)),
79577328896b876314656427663695bc7b2c9be3f74dirk    _quiet(false)
796cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
797cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
798cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
799cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagick::ReadOptions::~ReadOptions()
800cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
801cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  _imageInfo=DestroyImageInfo(_imageInfo);
802cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
803cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
804cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkvoid Magick::ReadOptions::density(const Magick::Geometry &density_)
805cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
806cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  if (!density_.isValid())
807cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk    _imageInfo->density=(char *) RelinquishMagickMemory(_imageInfo->density);
808cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  else
809cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk    Magick::CloneString(&_imageInfo->density,density_);
810cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
811cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
812cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagick::Geometry Magick::ReadOptions::density(void) const
813cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
814cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  if (_imageInfo->density)
815cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk    return(Geometry(_imageInfo->density));
816cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
817cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  return(Geometry());
818cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
819cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
820cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkvoid Magick::ReadOptions::depth(size_t depth_)
821cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
822cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  _imageInfo->depth=depth_;
823cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
824cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
825cf9e54702eac3e23864eec78b1f72fc0c41829e8dirksize_t Magick::ReadOptions::depth(void) const
826cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
827cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  return(_imageInfo->depth);
828cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
829cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
830cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkvoid Magick::ReadOptions::size(const Geometry &geometry_)
831cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
832cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  _imageInfo->size=(char *) RelinquishMagickMemory(_imageInfo->size);
833cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
834cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  if ( geometry_.isValid() )
835cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk    Magick::CloneString(&_imageInfo->size,geometry_);
836cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
837cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
838cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagick::Geometry Magick::ReadOptions::size(void) const
839cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
840cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  if (_imageInfo->size)
841cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk    return(Geometry(_imageInfo->size));
842cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
843cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  return(Geometry());
844cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
845cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
84602959a179c103d38a7b2a6f31103c261479a6ee1dirkvoid Magick::ReadOptions::quiet(const bool quiet_)
84702959a179c103d38a7b2a6f31103c261479a6ee1dirk{
84802959a179c103d38a7b2a6f31103c261479a6ee1dirk  _quiet=quiet_;
84902959a179c103d38a7b2a6f31103c261479a6ee1dirk}
85002959a179c103d38a7b2a6f31103c261479a6ee1dirk
85102959a179c103d38a7b2a6f31103c261479a6ee1dirkbool Magick::ReadOptions::quiet(void) const
85202959a179c103d38a7b2a6f31103c261479a6ee1dirk{
85302959a179c103d38a7b2a6f31103c261479a6ee1dirk   return(_quiet);
85402959a179c103d38a7b2a6f31103c261479a6ee1dirk}
85502959a179c103d38a7b2a6f31103c261479a6ee1dirk
856cf9e54702eac3e23864eec78b1f72fc0c41829e8dirkMagickCore::ImageInfo *Magick::ReadOptions::imageInfo(void)
857cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk{
858cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk  return(_imageInfo);
859cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk}
860cf9e54702eac3e23864eec78b1f72fc0c41829e8dirk
8613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Reduce noise in image using a noise peak elimination filter
8623ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::reduceNoiseImage::reduceNoiseImage( void )
8633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _order(3)
8643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
866eaedf06777741da32408da72c1e512975c600c48cristyMagick::reduceNoiseImage::reduceNoiseImage ( const size_t order_ )
8673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy      : _order(order_)
8683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8703ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::reduceNoiseImage::operator()( Image &image_ ) const
8713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.reduceNoise( _order );
8733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
8753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Roll image (rolls image vertically and horizontally) by specified
8763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// number of columnms and rows)
8773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::rollImage::rollImage( const Magick::Geometry &roll_ )
8783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _columns( roll_.width() ),
8793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _rows( roll_.height() )
8803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
882d99b096901994c291fdd5b648c5ec9c12d675947cristyMagick::rollImage::rollImage( const ssize_t columns_,
883d99b096901994c291fdd5b648c5ec9c12d675947cristy                              const ssize_t rows_ )
8843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _columns( columns_ ),
8853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _rows( rows_ )
8863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::rollImage::operator()( Magick::Image &image_ ) const
8893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.roll( _columns, _rows );
8913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
8933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Rotate image counter-clockwise by specified number of degrees.
8943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::rotateImage::rotateImage( const double degrees_ )
8953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _degrees( degrees_ )
8963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8983ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::rotateImage::operator()( Magick::Image &image_ ) const
8993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.rotate( _degrees );
9013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Resize image by using pixel sampling algorithm
9043ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::sampleImage::sampleImage( const Magick::Geometry &geometry_ )
9053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
9063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::sampleImage::operator()( Magick::Image &image_ ) const
9093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.sample( _geometry );
9113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Resize image by using simple ratio algorithm
9143ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::scaleImage::scaleImage( const Magick::Geometry &geometry_ )
9153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
9163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9183ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::scaleImage::operator()( Magick::Image &image_ ) const
9193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.scale( _geometry );
9213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Segment (coalesce similar image components) by analyzing the
9243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// histograms of the color components and identifying units that are
9253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// homogeneous with the fuzzy c-means technique.  Also uses
9263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// QuantizeColorSpace and Verbose image attributes
9273ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::segmentImage::segmentImage( const double clusterThreshold_ ,
9283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                    const double smoothingThreshold_ )
9293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _clusterThreshold( clusterThreshold_ ),
9303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _smoothingThreshold( smoothingThreshold_ )
9313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9333ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::segmentImage::operator()( Magick::Image &image_ ) const
9343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.segment( _clusterThreshold, _smoothingThreshold );
9363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Shade image using distant light source
939a0242abb3af2562e1943efe8739ff28c2f5b73bdcristyMagick::shadeImage::shadeImage( const double azimuth_,
940a0242abb3af2562e1943efe8739ff28c2f5b73bdcristy                                const double elevation_,
941a0242abb3af2562e1943efe8739ff28c2f5b73bdcristy        const bool colorShading_)
942a0242abb3af2562e1943efe8739ff28c2f5b73bdcristy  : _azimuth( azimuth_ ),
943a0242abb3af2562e1943efe8739ff28c2f5b73bdcristy    _elevation( elevation_ ),
944a0242abb3af2562e1943efe8739ff28c2f5b73bdcristy    _colorShading (colorShading_)
9453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9473ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::shadeImage::operator()( Magick::Image &image_ ) const
9483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
949c8dd3c81feb29e7f29814ef121444b10074d1980cristy  image_.shade( _azimuth, _elevation, _colorShading );
9503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9522218233683ba492c79fbc709759c904bd164b733cristy// Simulate an image shadow
9532218233683ba492c79fbc709759c904bd164b733cristyMagick::shadowImage::shadowImage( const double percent_opacity_,
9542218233683ba492c79fbc709759c904bd164b733cristy                                const double sigma_,
9552218233683ba492c79fbc709759c904bd164b733cristy        const ssize_t x_, const ssize_t y_ )
9562218233683ba492c79fbc709759c904bd164b733cristy  : _percent_opacity( percent_opacity_ ),
9572218233683ba492c79fbc709759c904bd164b733cristy    _sigma( sigma_ ),
9582218233683ba492c79fbc709759c904bd164b733cristy    _x ( x_ ),
9592218233683ba492c79fbc709759c904bd164b733cristy    _y ( y_ )
9602218233683ba492c79fbc709759c904bd164b733cristy{
9612218233683ba492c79fbc709759c904bd164b733cristy}
9622218233683ba492c79fbc709759c904bd164b733cristyvoid Magick::shadowImage::operator()( Magick::Image &image_ ) const
9632218233683ba492c79fbc709759c904bd164b733cristy{
9642218233683ba492c79fbc709759c904bd164b733cristy  image_.shadow( _percent_opacity, _sigma, _x, _y );
9652218233683ba492c79fbc709759c904bd164b733cristy}
9662218233683ba492c79fbc709759c904bd164b733cristy
9673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Sharpen pixels in image
9683ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::sharpenImage::sharpenImage( const double radius_, const double sigma_ )
9693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _radius( radius_ ),
9703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _sigma( sigma_ )
9713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9733ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::sharpenImage::operator()( Magick::Image &image_ ) const
9743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.sharpen( _radius, _sigma );
9763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Shave pixels from image edges.
9793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::shaveImage::shaveImage( const Magick::Geometry &geometry_ )
9803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
9813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9833ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::shaveImage::operator()( Magick::Image &image_ ) const
9843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.shave( _geometry );
9863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
9883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Shear image (create parallelogram by sliding image by X or Y axis)
9893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::shearImage::shearImage( const double xShearAngle_,
9903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                const double yShearAngle_ )
9913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _xShearAngle( xShearAngle_ ),
9923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _yShearAngle( yShearAngle_ )
9933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9953ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::shearImage::operator()( Magick::Image &image_ ) const
9963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
9973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.shear( _xShearAngle, _yShearAngle );
9983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
9993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Solarize image (similar to effect seen when exposing a photographic
10013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// film to light during the development process)
10023ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::solarizeImage::solarizeImage( const double factor_ )
10033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _factor( factor_ )
10043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10063ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::solarizeImage::operator()( Magick::Image &image_ ) const
10073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.solarize( _factor );
10093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Spread pixels randomly within image by specified ammount
1012eaedf06777741da32408da72c1e512975c600c48cristyMagick::spreadImage::spreadImage( const size_t amount_ )
10133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _amount( amount_ )
10143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::spreadImage::operator()( Magick::Image &image_ ) const
10173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.spread( _amount );
10193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Add a digital watermark to the image (based on second image)
10223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::steganoImage::steganoImage( const Magick::Image &waterMark_ )
10233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _waterMark( waterMark_ )
10243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::steganoImage::operator()( Magick::Image &image_ ) const
10273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.stegano( _waterMark );
10293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Create an image which appears in stereo when viewed with red-blue
10323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// glasses (Red image on left, blue on right)
10333ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::stereoImage::stereoImage( const Magick::Image &rightImage_ )
10343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _rightImage( rightImage_ )
10353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::stereoImage::operator()( Magick::Image &image_ ) const
10383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.stereo( _rightImage );
10403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Color to use when drawing object outlines
10433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::strokeColorImage::strokeColorImage( const Magick::Color &strokeColor_ )
10443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _strokeColor( strokeColor_ )
10453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10473ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::strokeColorImage::operator()( Magick::Image &image_ ) const
10483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.strokeColor( _strokeColor );
10503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Swirl image (image pixels are rotated by degrees)
10533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::swirlImage::swirlImage( const double degrees_ )
10543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _degrees( degrees_ )
10553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::swirlImage::operator()( Magick::Image &image_ ) const
10583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.swirl( _degrees );
10603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Channel a texture on image background
10633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::textureImage::textureImage( const Magick::Image &texture_ )
10643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _texture( texture_ )
10653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10673ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::textureImage::operator()( Magick::Image &image_ ) const
10683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.texture( _texture );
10703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Threshold image
10733ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::thresholdImage::thresholdImage( const double threshold_ )
10743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _threshold( threshold_ )
10753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::thresholdImage::operator()( Magick::Image &image_ ) const
10783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.threshold( _threshold );
10803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Set image color to transparent
10833ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::transparentImage::transparentImage( const Magick::Color& color_ )
10843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _color( color_ )
10853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10873ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::transparentImage::operator()( Magick::Image &image_ ) const
10883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.transparent( _color );
10903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
10923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Trim edges that are the background color from the image
10933ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::trimImage::trimImage( void )
10943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
10963ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::trimImage::operator()( Magick::Image &image_ ) const
10973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
10983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.trim( );
10993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Map image pixels to a sine wave
11023ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::waveImage::waveImage( const double amplitude_,
11033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                              const double wavelength_ )
11043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _amplitude( amplitude_ ),
11053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _wavelength( wavelength_ )
11063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::waveImage::operator()( Magick::Image &image_ ) const
11093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.wave( _amplitude, _wavelength );
11113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// resize image to specified size.
11143ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::resizeImage::resizeImage( const Magick::Geometry &geometry_ )
11153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
11163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11183ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::resizeImage::operator()( Magick::Image &image_ ) const
11193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.resize( _geometry );
11213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Zoom image to specified size.
11243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::zoomImage::zoomImage( const Magick::Geometry &geometry_ )
11253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
11263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::zoomImage::operator()( Magick::Image &image_ ) const
11293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.zoom( _geometry );
11313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
11343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Function object image attribute accessors
11353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
11363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Join images into a single multi-image file
11383ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::adjoinImage::adjoinImage( const bool flag_ )
11393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _flag( flag_ )
11403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::adjoinImage::operator()( Magick::Image &image_ ) const
11433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.adjoin( _flag );
11453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Time in 1/100ths of a second which must expire before displaying
11483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// the next image in an animated sequence.
1149eaedf06777741da32408da72c1e512975c600c48cristyMagick::animationDelayImage::animationDelayImage( const size_t delay_ )
11503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _delay( delay_ )
11513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::animationDelayImage::operator()( Magick::Image &image_ ) const
11543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.animationDelay( _delay );
11563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Number of iterations to loop an animation (e.g. Netscape loop
11593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// extension) for.
1160eaedf06777741da32408da72c1e512975c600c48cristyMagick::animationIterationsImage::animationIterationsImage( const size_t iterations_ )
11613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _iterations( iterations_ )
11623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11643ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::animationIterationsImage::operator()( Magick::Image &image_ ) const
11653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.animationIterations( _iterations );
11673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image background color
11703ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::backgroundColorImage::backgroundColorImage( const Magick::Color &color_ )
11713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _color( color_ )
11723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::backgroundColorImage::operator()( Magick::Image &image_ ) const
11753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.backgroundColor( _color );
11773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Name of texture image to tile onto the image background
11803ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::backgroundTextureImage::backgroundTextureImage( const std::string &backgroundTexture_ )
11813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _backgroundTexture( backgroundTexture_ )
11823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::backgroundTextureImage::operator()( Magick::Image &image_ ) const
11853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.backgroundTexture( _backgroundTexture );
11873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image border color
11903ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::borderColorImage::borderColorImage( const Magick::Color &color_ )
11913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _color( color_ )
11923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::borderColorImage::operator()( Magick::Image &image_ ) const
11953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
11963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.borderColor( _color );
11973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
11983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
11993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Text bounding-box base color (default none)
12003ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::boxColorImage::boxColorImage( const Magick::Color &boxColor_ )
12013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _boxColor( boxColor_ ) { }
12023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12033ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::boxColorImage::operator()( Magick::Image &image_ ) const
12043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.boxColor( _boxColor );
12063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
120898e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkMagick::chromaBluePrimaryImage::chromaBluePrimaryImage(const double x_,
120998e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  const double y_,const double z_)
121098e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  : _x(x_),
121198e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _y(y_),
121298e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _z(z_)
12133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
121598e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk
121698e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkvoid Magick::chromaBluePrimaryImage::operator()(Magick::Image &image_) const
12173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
121898e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  image_.chromaBluePrimary(_x,_y,_z);
12193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
122198e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkMagick::chromaGreenPrimaryImage::chromaGreenPrimaryImage(const double x_,
122298e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  const double y_,const double z_)
122398e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  : _x(x_),
122498e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _y(y_),
122598e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _z(z_)
12263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
122898e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk
12293ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::chromaGreenPrimaryImage::operator()( Magick::Image &image_ ) const
12303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
123198e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  image_.chromaGreenPrimary(_x,_y,_z);
12323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
123498e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkMagick::chromaRedPrimaryImage::chromaRedPrimaryImage(const double x_,
123598e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  const double y_,const double z_)
123698e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  : _x(x_),
123798e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _y(y_),
123898e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _z(z_)
12393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
124198e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk
124298e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkvoid Magick::chromaRedPrimaryImage::operator()(Magick::Image &image_) const
12433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
124498e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  image_.chromaRedPrimary(_x,_y,_z);
12453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
124798e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkMagick::chromaWhitePointImage::chromaWhitePointImage(const double x_,
124898e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  const double y_,const double z_)
124998e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  : _x(x_),
125098e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _y(y_),
125198e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk    _z(z_)
12523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
125498e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk
125598e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirkvoid Magick::chromaWhitePointImage::operator()(Magick::Image &image_) const
12563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
125798e4a9ab93295eb5a3db74ccf3e4e905c98b8f0edirk  image_.chromaWhitePoint(_x,_y,_z);
12583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Colors within this distance are considered equal
12613ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::colorFuzzImage::colorFuzzImage( const double fuzz_ )
12623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _fuzz( fuzz_ )
12633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::colorFuzzImage::operator()( Magick::Image &image_ ) const
12663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.colorFuzz( _fuzz );
12683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Color at colormap position index_
1271eaedf06777741da32408da72c1e512975c600c48cristyMagick::colorMapImage::colorMapImage( const size_t index_,
12723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                      const Color &color_ )
12733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _index( index_ ),
12743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _color( color_ )
12753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::colorMapImage::operator()( Magick::Image &image_ ) const
12783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.colorMap( _index, _color );
12803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Composition operator to be used when composition is implicitly used
12833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// (such as for image flattening).
12843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::composeImage::composeImage( const CompositeOperator compose_ )
12853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _compose( compose_ )
12863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::composeImage::operator()( Magick::Image &image_ ) const
12893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.compose( _compose );
12913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
12933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Compression type
12943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::compressTypeImage::compressTypeImage( const CompressionType compressType_ )
12953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _compressType( compressType_ )
12963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
12973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
12983ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::compressTypeImage::operator()( Magick::Image &image_ ) const
12993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.compressType( _compressType );
13013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Vertical and horizontal resolution in pixels of the image
1304be1bbacaa9919aa3754e3abae43557be13669657dirkMagick::densityImage::densityImage( const Point &point_ )
1305be1bbacaa9919aa3754e3abae43557be13669657dirk  : _point( point_ )
13063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::densityImage::operator()( Magick::Image &image_ ) const
13093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1310be1bbacaa9919aa3754e3abae43557be13669657dirk  image_.density( _point );
13113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image depth (bits allocated to red/green/blue components)
1314eaedf06777741da32408da72c1e512975c600c48cristyMagick::depthImage::depthImage( const size_t depth_ )
13153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _depth( depth_ )
13163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13183ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::depthImage::operator()( Magick::Image &image_ ) const
13193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.depth( _depth );
13213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Endianness (LSBEndian like Intel or MSBEndian like SPARC) for image
13243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// formats which support endian-specific options.
13253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::endianImage::endianImage( const Magick::EndianType endian_ )
13263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _endian( endian_ )
13273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13293ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::endianImage::operator()( Magick::Image &image_ ) const
13303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.endian( _endian );
13323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image file name
13353ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::fileNameImage::fileNameImage( const std::string &fileName_ )
13363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _fileName( fileName_ )
13373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::fileNameImage::operator()( Magick::Image &image_ ) const
13403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.fileName( _fileName );
13423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Filter to use when resizing image
13458b9f21cab4c50eb7d6e558a7a43a68833fe0b55ddirkMagick::filterTypeImage::filterTypeImage( const FilterType filterType_ )
13463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _filterType( filterType_ )
13473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13493ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::filterTypeImage::operator()( Magick::Image &image_ ) const
13503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.filterType( _filterType );
13523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Text rendering font
13553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::fontImage::fontImage( const std::string &font_ )
13563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _font( font_ )
13573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13593ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::fontImage::operator()( Magick::Image &image_ ) const
13603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.font( _font );
13623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Font point size
1365eaedf06777741da32408da72c1e512975c600c48cristyMagick::fontPointsizeImage::fontPointsizeImage( const size_t pointsize_ )
13663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _pointsize( pointsize_ )
13673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::fontPointsizeImage::operator()( Magick::Image &image_ ) const
13703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.fontPointsize( _pointsize );
13723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// GIF disposal method
13751940fe06f035ea32a4ec4df61f6897396877aa3cdirkMagick::gifDisposeMethodImage::gifDisposeMethodImage( const DisposeType disposeMethod_ )
13763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _disposeMethod( disposeMethod_ )
13773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::gifDisposeMethodImage::operator()( Magick::Image &image_ ) const
13803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.gifDisposeMethod( _disposeMethod );
13823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Type of interlacing to use
13853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::interlaceTypeImage::interlaceTypeImage( const InterlaceType interlace_ )
13863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _interlace( interlace_ )
13873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::interlaceTypeImage::operator()( Magick::Image &image_ ) const
13903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.interlaceType( _interlace );
13923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
13943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// File type magick identifier (.e.g "GIF")
13953ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::magickImage::magickImage( const std::string &magick_ )
13963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _magick( magick_ )
13973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
13983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
13993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::magickImage::operator()( Magick::Image &image_ ) const
14003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.magick( _magick );
14023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image supports transparent color
14051940fe06f035ea32a4ec4df61f6897396877aa3cdirkMagick::alphaFlagImage::alphaFlagImage( const bool alphaFlag_ )
14061940fe06f035ea32a4ec4df61f6897396877aa3cdirk  : _alphaFlag( alphaFlag_ )
14073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14091940fe06f035ea32a4ec4df61f6897396877aa3cdirkvoid Magick::alphaFlagImage::operator()( Magick::Image &image_ ) const
14103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14111940fe06f035ea32a4ec4df61f6897396877aa3cdirk  image_.alpha( _alphaFlag );
14123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Transparent color
14151940fe06f035ea32a4ec4df61f6897396877aa3cdirkMagick::alphaColorImage::alphaColorImage( const Color &alphaColor_ )
14161940fe06f035ea32a4ec4df61f6897396877aa3cdirk  : _alphaColor( alphaColor_ )
14173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14191940fe06f035ea32a4ec4df61f6897396877aa3cdirkvoid Magick::alphaColorImage::operator()( Magick::Image &image_ ) const
14203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14211940fe06f035ea32a4ec4df61f6897396877aa3cdirk  image_.alphaColor( _alphaColor );
14223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Indicate that image is black and white
14253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::monochromeImage::monochromeImage( const bool monochromeFlag_ )
14263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _monochromeFlag( monochromeFlag_ )
14273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14293ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::monochromeImage::operator()( Magick::Image &image_ ) const
14303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.monochrome( _monochromeFlag );
14323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Set pixel color at location x & y.
14354e0eef0224b2612b06c74d42d7f7c20f66f7f8b3cristyMagick::pixelColorImage::pixelColorImage( const ssize_t x_,
14364e0eef0224b2612b06c74d42d7f7c20f66f7f8b3cristy                                          const ssize_t y_,
14373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy                                          const Color &color_)
14383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _x( x_ ),
14393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _y( y_ ),
14403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    _color( color_ ) { }
14413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::pixelColorImage::operator()( Magick::Image &image_ ) const
14433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.pixelColor( _x, _y, _color );
14453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Postscript page size.
14483ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::pageImage::pageImage( const Geometry &pageSize_ )
14493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _pageSize( pageSize_ )
14503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14523ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::pageImage::operator()( Magick::Image &image_ ) const
14533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.page( _pageSize );
14553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// JPEG/MIFF/PNG compression level (default 75).
1458eaedf06777741da32408da72c1e512975c600c48cristyMagick::qualityImage::qualityImage( const size_t quality_ )
14593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _quality( quality_ )
14603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14623ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::qualityImage::operator()( Magick::Image &image_ ) const
14633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quality( _quality );
14653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Maximum number of colors to quantize to
1468eaedf06777741da32408da72c1e512975c600c48cristyMagick::quantizeColorsImage::quantizeColorsImage( const size_t colors_ )
14693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _colors( colors_ )
14703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14723ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::quantizeColorsImage::operator()( Magick::Image &image_ ) const
14733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quantizeColors( _colors );
14753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Colorspace to quantize in.
14783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::quantizeColorSpaceImage::quantizeColorSpaceImage( const ColorspaceType colorSpace_ )
14793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _colorSpace( colorSpace_ )
14803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::quantizeColorSpaceImage::operator()( Magick::Image &image_ ) const
14833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quantizeColorSpace( _colorSpace );
14853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Dither image during quantization (default true).
14883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::quantizeDitherImage::quantizeDitherImage( const bool ditherFlag_ )
14893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _ditherFlag( ditherFlag_ )
14903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14923ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::quantizeDitherImage::operator()( Magick::Image &image_ ) const
14933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
14943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quantizeDither( _ditherFlag );
14953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
14963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
14973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Quantization tree-depth
1498eaedf06777741da32408da72c1e512975c600c48cristyMagick::quantizeTreeDepthImage::quantizeTreeDepthImage( const size_t treeDepth_ )
14993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _treeDepth( treeDepth_ ) { }
15003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::quantizeTreeDepthImage::operator()( Magick::Image &image_ ) const
15023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.quantizeTreeDepth( _treeDepth );
15043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// The type of rendering intent
15073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::renderingIntentImage::renderingIntentImage( const Magick::RenderingIntent renderingIntent_ )
15083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _renderingIntent( renderingIntent_ )
15093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::renderingIntentImage::operator()( Magick::Image &image_ ) const
15123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.renderingIntent( _renderingIntent );
15143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Units of image resolution
15173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::resolutionUnitsImage::resolutionUnitsImage( const Magick::ResolutionType resolutionUnits_ )
15183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _resolutionUnits( resolutionUnits_ )
15193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15213ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::resolutionUnitsImage::operator()( Magick::Image &image_ ) const
15223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.resolutionUnits( _resolutionUnits );
15243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image scene number
1527eaedf06777741da32408da72c1e512975c600c48cristyMagick::sceneImage::sceneImage( const size_t scene_ )
15283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _scene( scene_ )
15293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15313ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::sceneImage::operator()( Magick::Image &image_ ) const
15323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.scene( _scene );
15343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Width and height of a raw image
15373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::sizeImage::sizeImage( const Magick::Geometry &geometry_ )
15383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _geometry( geometry_ )
15393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15413ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::sizeImage::operator()( Magick::Image &image_ ) const
15423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.size( _geometry );
15443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15468198a75baed6048bb2f5a2c04c773cce5e512c34cristy// Splice the background color into the image.
15478198a75baed6048bb2f5a2c04c773cce5e512c34cristyMagick::spliceImage::spliceImage( const Magick::Geometry &geometry_ )
15488198a75baed6048bb2f5a2c04c773cce5e512c34cristy  : _geometry( geometry_ )
15498198a75baed6048bb2f5a2c04c773cce5e512c34cristy{
15508198a75baed6048bb2f5a2c04c773cce5e512c34cristy}
15518198a75baed6048bb2f5a2c04c773cce5e512c34cristyvoid Magick::spliceImage::operator()( Magick::Image &image_ ) const
15528198a75baed6048bb2f5a2c04c773cce5e512c34cristy{
15538198a75baed6048bb2f5a2c04c773cce5e512c34cristy  image_.splice( _geometry );
15548198a75baed6048bb2f5a2c04c773cce5e512c34cristy}
15558198a75baed6048bb2f5a2c04c773cce5e512c34cristy
15569f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy// stripImage strips an image of all profiles and comments.
15579f89a3fdb53e6226e8361b6d7b422f0387aa9431cristyMagick::stripImage::stripImage( void )
15589f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy{
15599f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy}
15609f89a3fdb53e6226e8361b6d7b422f0387aa9431cristyvoid Magick::stripImage::operator()( Magick::Image &image_ ) const
15619f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy{
15629f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy  image_.strip( );
15639f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy}
15649f89a3fdb53e6226e8361b6d7b422f0387aa9431cristy
15653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Subimage of an image sequence
1566eaedf06777741da32408da72c1e512975c600c48cristyMagick::subImageImage::subImageImage( const size_t subImage_ )
15673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _subImage( subImage_ )
15683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15703ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::subImageImage::operator()( Magick::Image &image_ ) const
15713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.subImage( _subImage );
15733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
15753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Number of images relative to the base image
1576eaedf06777741da32408da72c1e512975c600c48cristyMagick::subRangeImage::subRangeImage( const size_t subRange_ )
15773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _subRange( subRange_ )
15783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15803ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::subRangeImage::operator()( Magick::Image &image_ ) const
15813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.subRange( _subRange );
15833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
15843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1585ea20b31c9b8d1a55b400559ae15760243dcb897fdirk// Anti-alias Postscript and TrueType fonts (default true)
1586ea20b31c9b8d1a55b400559ae15760243dcb897fdirkMagick::textAntiAliasImage::textAntiAliasImage( const bool flag_ )
1587ea20b31c9b8d1a55b400559ae15760243dcb897fdirk  : _flag( flag_ )
1588ea20b31c9b8d1a55b400559ae15760243dcb897fdirk{
1589ea20b31c9b8d1a55b400559ae15760243dcb897fdirk}
1590ea20b31c9b8d1a55b400559ae15760243dcb897fdirkvoid Magick::textAntiAliasImage::operator()( Magick::Image &image_ ) const
1591ea20b31c9b8d1a55b400559ae15760243dcb897fdirk{
1592ea20b31c9b8d1a55b400559ae15760243dcb897fdirk  image_.textAntiAlias( _flag );
1593ea20b31c9b8d1a55b400559ae15760243dcb897fdirk}
1594ea20b31c9b8d1a55b400559ae15760243dcb897fdirk
15953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Image storage type
15963ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::typeImage::typeImage( const Magick::ImageType type_ )
15973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _type( type_ )
15983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
15993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
16003ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::typeImage::operator()( Magick::Image &image_ ) const
16013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
16023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.type( _type );
16033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
16043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
16053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Print detailed information about the image
16063ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::verboseImage::verboseImage( const bool verbose_ )
16073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _verbose( verbose_ )
16083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
16093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
16103ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::verboseImage::operator()( Magick::Image &image_ ) const
16113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
16123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.verbose( _verbose );
16133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
16143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
16153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// X11 display to display to, obtain fonts from, or to capture image
16163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// from
16173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::x11DisplayImage::x11DisplayImage( const std::string &display_ )
16183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : _display( display_ )
16193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
16203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
16213ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::x11DisplayImage::operator()( Magick::Image &image_ ) const
16223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
16233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  image_.x11Display( _display );
16243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1625