13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// This may look like C code, but it is really -*- C++ -*- 23ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003 414e5c8c5489c203999422ac4f4f1d48598757d17dirk// Copyright Dirk Lemstra 2014-2015 53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Implementation of Drawable (Graphic objects) 73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICKCORE_IMPLEMENTATION 1 103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICK_PLUSPLUS_IMPLEMENTATION 1 113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICK_DRAWABLE_IMPLEMENTATION 123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 13d4774283661e770ee52d54a7199b7c4d38208c35cristy#include "Magick++/Include.h" 143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <math.h> 153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string> 163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Drawable.h" 183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Image.h" 193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyusing namespace std; 213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2214e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator == (const Magick::Coordinate& left_, 2314e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2514e5c8c5489c203999422ac4f4f1d48598757d17dirk return((left_.x() == right_.x()) && (left_.y() == right_.y())); 263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2714e5c8c5489c203999422ac4f4f1d48598757d17dirk 2814e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator != (const Magick::Coordinate& left_, 2914e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 3114e5c8c5489c203999422ac4f4f1d48598757d17dirk return(!(left_ == right_)); 323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3314e5c8c5489c203999422ac4f4f1d48598757d17dirk 3414e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator > (const Magick::Coordinate& left_, 3514e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 3714e5c8c5489c203999422ac4f4f1d48598757d17dirk return (!(left_ < right_) && (left_ != right_)); 383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3914e5c8c5489c203999422ac4f4f1d48598757d17dirk 4014e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator < (const Magick::Coordinate& left_, 4114e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Based on distance from origin 4414e5c8c5489c203999422ac4f4f1d48598757d17dirk return((sqrt(left_.x()*left_.x() + left_.y()*left_.y())) < 4514e5c8c5489c203999422ac4f4f1d48598757d17dirk (sqrt(right_.x()*right_.x() + right_.y()*right_.y()))); 4614e5c8c5489c203999422ac4f4f1d48598757d17dirk} 4714e5c8c5489c203999422ac4f4f1d48598757d17dirk 4814e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator >= (const Magick::Coordinate& left_, 4914e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 5014e5c8c5489c203999422ac4f4f1d48598757d17dirk{ 5114e5c8c5489c203999422ac4f4f1d48598757d17dirk return((left_ > right_) || (left_ == right_)); 523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5314e5c8c5489c203999422ac4f4f1d48598757d17dirk 5414e5c8c5489c203999422ac4f4f1d48598757d17dirkMagickPPExport int Magick::operator <= (const Magick::Coordinate& left_, 5514e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Coordinate& right_) 563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5714e5c8c5489c203999422ac4f4f1d48598757d17dirk return((left_ < right_) || (left_ == right_)); 583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5914e5c8c5489c203999422ac4f4f1d48598757d17dirk 6014e5c8c5489c203999422ac4f4f1d48598757d17dirk/* DrawableBase */ 6114e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::DrawableBase::DrawableBase() 623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6514e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::DrawableBase::~DrawableBase(void) 663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6914e5c8c5489c203999422ac4f4f1d48598757d17dirkvoid Magick::DrawableBase::operator()(MagickCore::DrawingWand * context_) const 703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 71d2a7a2d4a46c82a8679688ae763ef9d7bb53ccd7dirk (void) context_; 723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7414e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::DrawableBase* Magick::DrawableBase::copy() const 7514e5c8c5489c203999422ac4f4f1d48598757d17dirk{ 7614e5c8c5489c203999422ac4f4f1d48598757d17dirk return new DrawableBase(*this); 7714e5c8c5489c203999422ac4f4f1d48598757d17dirk} 7814e5c8c5489c203999422ac4f4f1d48598757d17dirk 7914e5c8c5489c203999422ac4f4f1d48598757d17dirk/* Drawable */ 8014e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::Drawable::Drawable(void) 8114e5c8c5489c203999422ac4f4f1d48598757d17dirk : dp((Magick::DrawableBase *) NULL) 8214e5c8c5489c203999422ac4f4f1d48598757d17dirk{ 8314e5c8c5489c203999422ac4f4f1d48598757d17dirk} 8414e5c8c5489c203999422ac4f4f1d48598757d17dirk 8514e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::Drawable::Drawable(const Magick::DrawableBase& original_) 863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : dp(original_.copy()) 873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9014e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::Drawable::~Drawable(void) 913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete dp; 9314e5c8c5489c203999422ac4f4f1d48598757d17dirk dp=(Magick::DrawableBase *) NULL; 943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9614e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::Drawable::Drawable(const Magick::Drawable& original_) 9714e5c8c5489c203999422ac4f4f1d48598757d17dirk : dp((original_.dp != (Magick::DrawableBase *) NULL ? original_.dp->copy() : 9814e5c8c5489c203999422ac4f4f1d48598757d17dirk (Magick::DrawableBase *) NULL)) 993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10214e5c8c5489c203999422ac4f4f1d48598757d17dirkMagick::Drawable& Magick::Drawable::operator= ( 10314e5c8c5489c203999422ac4f4f1d48598757d17dirk const Magick::Drawable& original_) 1043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10514e5c8c5489c203999422ac4f4f1d48598757d17dirk DrawableBase 10614e5c8c5489c203999422ac4f4f1d48598757d17dirk *temp_dp; 10714e5c8c5489c203999422ac4f4f1d48598757d17dirk 1083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if (this != &original_) 1093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 11014e5c8c5489c203999422ac4f4f1d48598757d17dirk temp_dp=(original_.dp != (Magick::DrawableBase *) NULL ? 11114e5c8c5489c203999422ac4f4f1d48598757d17dirk original_.dp->copy() : (Magick::DrawableBase *) NULL); 1123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete dp; 11314e5c8c5489c203999422ac4f4f1d48598757d17dirk dp=temp_dp; 1143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 11514e5c8c5489c203999422ac4f4f1d48598757d17dirk return(*this); 1163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11814e5c8c5489c203999422ac4f4f1d48598757d17dirkvoid Magick::Drawable::operator()(MagickCore::DrawingWand * context_) const 1193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12014e5c8c5489c203999422ac4f4f1d48598757d17dirk if (dp != (Magick::DrawableBase *) NULL) 12114e5c8c5489c203999422ac4f4f1d48598757d17dirk dp->operator()(context_); 1223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy/*virtual*/ 1253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase::~VPathBase ( void ) 1263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Constructor 1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPath::VPath ( void ) 1313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : dp(0) 1323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Construct from VPathBase 1363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPath::VPath ( const Magick::VPathBase& original_ ) 1373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : dp(original_.copy()) 1383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Destructor 1423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy/* virtual */ Magick::VPath::~VPath ( void ) 1433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete dp; 1453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy dp = 0; 1463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy constructor 1493ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPath::VPath ( const Magick::VPath& original_ ) 1503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : dp(original_.dp? original_.dp->copy(): 0) 1513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Assignment operator 1553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPath& Magick::VPath::operator= (const Magick::VPath& original_ ) 1563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if (this != &original_) 1583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy VPathBase* temp_dp = (original_.dp ? original_.dp->copy() : 0); 1603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete dp; 1613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy dp = temp_dp; 1623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 1633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return *this; 1643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Operator to invoke contained object 1673ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::VPath::operator()( MagickCore::DrawingWand * context_ ) const 1683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(dp) 1703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy dp->operator()( context_ ); 1713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 173af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator == ( const Magick::VPath& /*left_*/, 1743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& /*right_*/ ) 1753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 1 ); 1773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 178af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator != ( const Magick::VPath& /*left_*/, 1793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& /*right_*/ ) 1803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 1823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 183af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator > ( const Magick::VPath& /*left_*/, 1843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& /*right_*/ ) 1853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 1873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 188af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator < ( const Magick::VPath& /*left_*/, 1893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& /*right_*/ ) 1903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 1923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 193af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator >= ( const Magick::VPath& left_, 1943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& right_ ) 1953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ > right_ ) || ( left_ == right_ ) ); 1973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 198af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator <= ( const Magick::VPath& left_, 1993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::VPath& right_ ) 2003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ < right_ ) || ( left_ == right_ ) ); 2023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 2053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Drawable Objects 2063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 2073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Affine (scaling, rotation, and translation) 2093ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableAffine::DrawableAffine( double sx_, double sy_, 2103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double rx_, double ry_, 2113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double tx_, double ty_ ) 2123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.sx = sx_; 2143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.rx = rx_; 2153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.ry = ry_; 2163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.sy = sy_; 2173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.tx = tx_; 2183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _affine.ty = ty_; 2193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableAffine::DrawableAffine( void ) 2213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy GetAffineMatrix(&_affine); 2233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableAffine::~DrawableAffine( void ) 2253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2273ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableAffine::operator()( MagickCore::DrawingWand * context_ ) const 2283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawAffine( context_, &_affine ); 2303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2313ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableAffine::copy() const 2323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableAffine(*this); 2343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 23634e1a21c95b52c7f487b385028e361f66d956a19dirkMagick::DrawableAlpha::~DrawableAlpha(void) 23734e1a21c95b52c7f487b385028e361f66d956a19dirk{ 23834e1a21c95b52c7f487b385028e361f66d956a19dirk} 23934e1a21c95b52c7f487b385028e361f66d956a19dirk 24034e1a21c95b52c7f487b385028e361f66d956a19dirkvoid Magick::DrawableAlpha::operator()(MagickCore::DrawingWand * context_) const 24134e1a21c95b52c7f487b385028e361f66d956a19dirk{ 24234e1a21c95b52c7f487b385028e361f66d956a19dirk DrawAlpha(context_,_x,_y,_paintMethod); 24334e1a21c95b52c7f487b385028e361f66d956a19dirk} 24434e1a21c95b52c7f487b385028e361f66d956a19dirk 24534e1a21c95b52c7f487b385028e361f66d956a19dirkMagick::DrawableBase* Magick::DrawableAlpha::copy() const 24634e1a21c95b52c7f487b385028e361f66d956a19dirk{ 24734e1a21c95b52c7f487b385028e361f66d956a19dirk return new DrawableAlpha(*this); 24834e1a21c95b52c7f487b385028e361f66d956a19dirk} 24934e1a21c95b52c7f487b385028e361f66d956a19dirk 2503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Arc 2513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableArc::~DrawableArc( void ) 2523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2543ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableArc::operator()( MagickCore::DrawingWand * context_ ) const 2553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawArc( context_, _startX, _startY, _endX, _endY, _startDegrees, _endDegrees ); 2573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2583ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableArc::copy() const 2593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableArc(*this); 2613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 2643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Bezier curve 2653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 2663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Construct from coordinates (Coordinate list must contain at least three members) 2673ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBezier::DrawableBezier ( const CoordinateList &coordinates_ ) 2683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 2693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy constructor 2723ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBezier::DrawableBezier( const Magick::DrawableBezier& original_ ) 2733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 2743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 2753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Destructor 2783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBezier::~DrawableBezier( void ) 2793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 2803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2813ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableBezier::operator()( MagickCore::DrawingWand * context_ ) const 2823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 283bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy size_t num_coords = (size_t) _coordinates.size(); 2843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *coordinates = new PointInfo[num_coords]; 2853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *q = coordinates; 2873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy CoordinateList::const_iterator p = _coordinates.begin(); 2883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy while( p != _coordinates.end() ) 2903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->x = p->x(); 2923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->y = p->y(); 2933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q++; 2943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p++; 2953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 2963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawBezier( context_, num_coords, coordinates ); 2983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete [] coordinates; 2993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3003ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableBezier::copy() const 3013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 3023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableBezier(*this); 3033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 305e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 306e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableBorderColor */ 307e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBorderColor::DrawableBorderColor(const Magick::Color &color_) 308e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : _color(color_) 309e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 310e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 311e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 312e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBorderColor::DrawableBorderColor 313e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk (const Magick::DrawableBorderColor &original_) 314e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : DrawableBase(original_), 315e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _color(original_._color) 316e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 317e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 318e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 319e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBorderColor::~DrawableBorderColor(void) 320e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 321e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 322e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 323e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableBorderColor::operator()( 324e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand *context_) const 325e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 326e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk PixelInfo 327e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk color; 328e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 329e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk PixelWand 330e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk *pixel_wand; 331e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 332e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk color=static_cast<PixelInfo>(_color); 333e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk pixel_wand=NewPixelWand(); 334e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk PixelSetPixelColor(pixel_wand,&color); 335e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetBorderColor(context_,pixel_wand); 336e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk pixel_wand=DestroyPixelWand(pixel_wand); 337e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 338e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 339e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableBorderColor::color(const Color &color_) 340e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 341e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _color=color_; 342e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 343e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 344e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::Color Magick::DrawableBorderColor::color(void) const 345e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 346e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_color); 347e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 348e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 349e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableBorderColor::copy() const 350e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 351e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableBorderColor(*this)); 352e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 353e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 354e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 355e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableClipRule */ 356e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableClipRule::DrawableClipRule(const FillRule fillRule_) 357e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 358e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _fillRule=fillRule_; 359e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 360e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 361e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableClipRule::~DrawableClipRule(void) 362e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 363e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 364e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 365e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableClipRule::operator()( 366e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand * context_) const 367e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 368e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetClipRule(context_,_fillRule); 369e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 370e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 371e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableClipRule::fillRule(const FillRule fillRule_) 372e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 373e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _fillRule=fillRule_; 374e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 375e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 376e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::FillRule Magick::DrawableClipRule::fillRule(void) const 377e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 378e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_fillRule); 379e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 380e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 381e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableClipRule::copy() const 382e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 383e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableClipRule(*this)); 384e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 385e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 386e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 387e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableClipUnits */ 388e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableClipUnits::DrawableClipUnits(const ClipPathUnits units_) 389e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 390e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _units = units_; 391e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 392e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 393e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableClipUnits::~DrawableClipUnits(void) 394e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 395e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 396e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 397e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableClipUnits::operator()( 398e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand * context_) const 399e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 400e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetClipUnits(context_, _units); 401e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 402e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 403e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableClipUnits::units(const ClipPathUnits units_) 404e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 405e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _units = units_; 406e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 407e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 408e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::ClipPathUnits Magick::DrawableClipUnits::units(void) const 409e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 410e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_units); 411e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 412e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 413e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableClipUnits::copy() const 414e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 415e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableClipUnits(*this)); 416e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 417e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 418e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 4193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 4203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//Clip Path 4213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 4223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Pop (terminate) Clip path definition 4243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePopClipPath::~DrawablePopClipPath ( void ) 4253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4273ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePopClipPath::operator() ( MagickCore::DrawingWand * context_ ) const 4283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPopClipPath( context_ ); 4303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPopDefs(context_); 4313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4323ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePopClipPath::copy() const 4333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePopClipPath(*this); 4353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Push clip path definition 4383ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushClipPath::DrawablePushClipPath( const std::string &id_) 4393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _id(id_.c_str()) //multithread safe const char* 4403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushClipPath::DrawablePushClipPath 4433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawablePushClipPath& original_ ) //multithread safe const char* 4443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 4453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _id(original_._id.c_str()) 4463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4483ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushClipPath::~DrawablePushClipPath( void ) 4493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePushClipPath::operator() 4523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 4533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPushDefs(context_); 4553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPushClipPath( context_, _id.c_str()); 4563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePushClipPath::copy() const 4583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePushClipPath(*this); 4603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 4623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// ClipPath 4633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 4643ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableClipPath::DrawableClipPath( const std::string &id_ ) 4653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy:_id(id_.c_str()) 4663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableClipPath::DrawableClipPath ( const Magick::DrawableClipPath& original_ ) 4703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 4713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _id(original_._id.c_str()) 4723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableClipPath::~DrawableClipPath( void ) 4753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableClipPath::operator()( MagickCore::DrawingWand * context_ ) const 4783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawSetClipPath( context_, _id.c_str()); 4803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4813ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableClipPath::copy() const 4823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableClipPath(*this); 4843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Circle 4873ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCircle::~DrawableCircle ( void ) 4883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4903ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableCircle::operator()( MagickCore::DrawingWand * context_ ) const 4913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawCircle( context_, _originX, _originY, _perimX, _perimY ); 4933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableCircle::copy() const 4953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 4963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableCircle(*this); 4973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Colorize at point using PaintMethod 5003ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableColor::~DrawableColor( void ) 5013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5033ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableColor::operator()( MagickCore::DrawingWand * context_ ) const 5043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawColor( context_, _x, _y, _paintMethod ); 5063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableColor::copy() const 5083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableColor(*this); 5103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 5123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Draw image at point 5133ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double width_, double height_, 5163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const std::string &filename_, 5173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Magick::CompositeOperator composition_ ) 5183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _composition(composition_), 5193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(width_), 5223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(height_), 5233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(filename_)) 5243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double width_, double height_, 5293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::Image &image_, 5303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Magick::CompositeOperator composition_ ) 5313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _composition(composition_), 5323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(width_), 5353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(height_), 5363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(image_)) 5373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double width_, double height_, 5423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const std::string &filename_ ) 5433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy :_composition(CopyCompositeOp), 5443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(width_), 5473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(height_), 5483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(filename_)) 5493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double width_, double height_, 5543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::Image &image_ ) 5553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy :_composition(CopyCompositeOp), 5563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(width_), 5593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(height_), 5603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(image_)) 5613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const std::string &filename_ ) 5663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _composition(CopyCompositeOp), 5673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(0), 5703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(0), 5713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(filename_)) 5723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width=_image->columns(); 5743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height=_image->rows(); 5753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5763ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( double x_, double y_, 5783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::Image &image_ ) 5793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _composition(CopyCompositeOp), 5803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 5813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 5823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(0), 5833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(0), 5843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(image_)) 5853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width=_image->columns(); 5873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height=_image->rows(); 5883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy constructor 5903ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::DrawableCompositeImage 5913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawableCompositeImage& original_ ) 5923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : Magick::DrawableBase(original_), 5933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _composition(original_._composition), 5943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 5953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y), 5963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(original_._width), 5973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(original_._height), 5983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image(new Image(*original_._image)) 5993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage::~DrawableCompositeImage( void ) 6023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete _image; 6043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Assignment operator 6063ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableCompositeImage& Magick::DrawableCompositeImage::operator= 6073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy(const Magick::DrawableCompositeImage& original_ ) 6083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // If not being set to ourself 6103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if ( this != &original_ ) 6113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 6123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _composition = original_._composition; 6133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x = original_._x; 6143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y = original_._y; 6153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width = original_._width; 6163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height = original_._height; 6173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Image* temp_image = new Image(*original_._image); 6183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete _image; 6193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image = temp_image; 6203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 6213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return *this; 6223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableCompositeImage::filename( const std::string &filename_ ) 6243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Image* temp_image = new Image(filename_); 6263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete _image; 6273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image = temp_image; 6283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6293ed852eea50f9d4cd633efb8c2b054b8e33c253cristystd::string Magick::DrawableCompositeImage::filename( void ) const 6303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return _image->fileName(); 6323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6343ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableCompositeImage::image( const Magick::Image &image_ ) 6353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Image* temp_image = new Image(image_); 6373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete _image; 6383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image = temp_image; 6393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6403ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::Image Magick::DrawableCompositeImage::image( void ) const 6413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return *_image; 6433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Specify image format used to output Base64 inlined image data. 6463ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableCompositeImage::magick( std::string magick_ ) 6473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _image->magick( magick_ ); 6493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6503ed852eea50f9d4cd633efb8c2b054b8e33c253cristystd::string Magick::DrawableCompositeImage::magick( void ) 6513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return _image->magick(); 6533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableCompositeImage::operator() 6563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 6573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickWand 6593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy *magick_wand; 6603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy magick_wand=NewMagickWandFromImage(_image->constImage()); 6623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawComposite( context_, _composition, _x, _y, _width, _height, 6633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy magick_wand ); 6643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy magick_wand=DestroyMagickWand(magick_wand); 6653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6673ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableCompositeImage::copy() const 6683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableCompositeImage(*this); 6703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 672477784733254fb4ef89f2ce698f82b4de7d6e67fdirkMagick::DrawableDensity::DrawableDensity(const Point &density_) 673477784733254fb4ef89f2ce698f82b4de7d6e67fdirk : _density(density_) 674477784733254fb4ef89f2ce698f82b4de7d6e67fdirk{ 675477784733254fb4ef89f2ce698f82b4de7d6e67fdirk} 676477784733254fb4ef89f2ce698f82b4de7d6e67fdirk 677477784733254fb4ef89f2ce698f82b4de7d6e67fdirkMagick::DrawableDensity::DrawableDensity(const std::string &density_) 678477784733254fb4ef89f2ce698f82b4de7d6e67fdirk : _density(density_) 679477784733254fb4ef89f2ce698f82b4de7d6e67fdirk{ 680477784733254fb4ef89f2ce698f82b4de7d6e67fdirk} 681477784733254fb4ef89f2ce698f82b4de7d6e67fdirk 682477784733254fb4ef89f2ce698f82b4de7d6e67fdirkMagick::DrawableDensity::~DrawableDensity(void) 683477784733254fb4ef89f2ce698f82b4de7d6e67fdirk{ 684477784733254fb4ef89f2ce698f82b4de7d6e67fdirk} 685477784733254fb4ef89f2ce698f82b4de7d6e67fdirk 686477784733254fb4ef89f2ce698f82b4de7d6e67fdirkvoid Magick::DrawableDensity::operator()( 687477784733254fb4ef89f2ce698f82b4de7d6e67fdirk MagickCore::DrawingWand *context_) const 688477784733254fb4ef89f2ce698f82b4de7d6e67fdirk{ 689477784733254fb4ef89f2ce698f82b4de7d6e67fdirk DrawSetDensity(context_,_density.c_str()); 690477784733254fb4ef89f2ce698f82b4de7d6e67fdirk} 691477784733254fb4ef89f2ce698f82b4de7d6e67fdirk 692477784733254fb4ef89f2ce698f82b4de7d6e67fdirkMagick::DrawableBase* Magick::DrawableDensity::copy() const 693477784733254fb4ef89f2ce698f82b4de7d6e67fdirk{ 694477784733254fb4ef89f2ce698f82b4de7d6e67fdirk return(new DrawableDensity(*this)); 695477784733254fb4ef89f2ce698f82b4de7d6e67fdirk} 696477784733254fb4ef89f2ce698f82b4de7d6e67fdirk 6973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Ellipse 6983ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableEllipse::~DrawableEllipse( void ) 6993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableEllipse::operator() 7023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 7033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawEllipse( context_, _originX, _originY, _radiusX, _radiusY, 7053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _arcStart, _arcEnd ); 7063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableEllipse::copy() const 7083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableEllipse(*this); 7103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Specify drawing fill color 7133ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFillColor::DrawableFillColor( const Magick::Color &color_ ) 7143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _color(color_) 7153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFillColor::DrawableFillColor 7183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawableFillColor& original_ ) 7193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 7203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _color(original_._color) 7213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFillColor::~DrawableFillColor( void ) 7243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableFillColor::operator() 7273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 7283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 729101ab708b0574518ac5715da4d3915400e9df79acristy PixelInfo color = static_cast<PixelInfo>(_color); 7303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PixelWand *pixel_wand=NewPixelWand(); 731f82c4a017e3711a91012dbccd159f6835435dd7fcristy PixelSetPixelColor(pixel_wand,&color); 7323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFillColor(context_,pixel_wand); 7333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy pixel_wand=DestroyPixelWand(pixel_wand); 7343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7353ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableFillColor::copy() const 7363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableFillColor(*this); 7383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 740e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableFillPatternUrl */ 741e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableFillPatternUrl::DrawableFillPatternUrl(const std::string &url_) 742e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : _url(url_) 743e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 744e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 745e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 746e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableFillPatternUrl::DrawableFillPatternUrl( 747e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const Magick::DrawableFillPatternUrl& original_) 748e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : DrawableBase(original_), 749e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _url(original_._url) 750e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 751e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 752e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 753e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableFillPatternUrl::~DrawableFillPatternUrl(void) 754e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 755e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 756e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 757e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableFillPatternUrl::operator()( 758e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand * context_) const 759e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 760e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetFillPatternURL(context_, _url.c_str()); 761e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 762e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 763e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableFillPatternUrl::url(const std::string &url_) 764e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 765e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _url = url_; 766e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 767e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 768e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkstd::string Magick::DrawableFillPatternUrl::url(void) const 769e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 770e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_url); 771e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 772e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 773e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableFillPatternUrl::copy() const 774e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 775e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableFillPatternUrl(*this)); 776e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 777e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 7783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Specify drawing fill fule 7793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFillRule::~DrawableFillRule ( void ) 7803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableFillRule::operator() 7833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 7843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFillRule( context_, _fillRule ); 7863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7873ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableFillRule::copy() const 7883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableFillRule(*this); 7903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 792c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkMagick::DrawableFillOpacity::~DrawableFillOpacity(void) 7933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 795c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk 796c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkvoid Magick::DrawableFillOpacity::operator() 797c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk (MagickCore::DrawingWand *context_) const 7983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 799c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk DrawSetFillOpacity(context_,_opacity); 8003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 801c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk 802c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkMagick::DrawableBase* Magick::DrawableFillOpacity::copy() const 8033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 804c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk return new DrawableFillOpacity(*this); 8053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Specify text font 8083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFont::DrawableFont ( const std::string &font_ ) 8093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _font(font_), 8103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _family(), 8113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _style(Magick::AnyStyle), 8123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _weight(400), 8133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _stretch(Magick::NormalStretch) 8143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFont::DrawableFont ( const std::string &family_, 8173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Magick::StyleType style_, 8189e7ec53e90ca58325dbbb1108f96d0b79af35b79cristy const unsigned int weight_, 8193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Magick::StretchType stretch_ ) 8203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _font(), 8213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _family(family_), 8223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _style(style_), 8233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _weight(weight_), 8243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _stretch(stretch_) 8253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8273ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFont::DrawableFont ( const Magick::DrawableFont& original_ ) 8283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 8293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _font(original_._font), 8303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _family(original_._family), 8313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _style(original_._style), 8323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _weight(original_._weight), 8333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _stretch(original_._stretch) 8343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableFont::~DrawableFont ( void ) 8373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableFont::operator()( MagickCore::DrawingWand * context_ ) const 8403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // font 8423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(_font.length()) 8433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 8443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawSetFont( context_, _font.c_str() ); 8453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 8463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(_family.length()) 8483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 8493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // font-family 8503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawSetFontFamily( context_, _family.c_str() ); 8513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // font-style 8533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFontStyle( context_, _style ); 8543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // font-weight 8563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFontWeight( context_, _weight ); 8573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // font-stretch 8593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFontStretch( context_, _stretch ); 8603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 8613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8623ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableFont::copy() const 8633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableFont(*this); 8653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Specify text positioning gravity 8683ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableGravity::~DrawableGravity ( void ) 8693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8713ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableGravity::operator() 8723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 8733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetGravity( context_, _gravity ); 8753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8763ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableGravity::copy() const 8773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableGravity(*this); 8793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Line 8823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableLine::~DrawableLine ( void ) 8833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableLine::operator()( MagickCore::DrawingWand * context_ ) const 8863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawLine( context_, _startX, _startY, _endX, _endY ); 8883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableLine::copy() const 8903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableLine(*this); 8923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Drawable Path 8953ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePath::DrawablePath ( const VPathList &path_ ) 8963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _path(path_) 8973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePath::DrawablePath ( const Magick::DrawablePath& original_ ) 9003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 9013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _path(original_._path) 9023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9043ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePath::~DrawablePath ( void ) 9053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePath::operator()( MagickCore::DrawingWand * context_ ) const 9083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathStart( context_ ); 9103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( VPathList::const_iterator p = _path.begin(); 9123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _path.end(); p++ ) 9133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->operator()( context_ ); // FIXME, how to quit loop on error? 9143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathFinish( context_ ); 9163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePath::copy() const 9183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePath(*this); 9203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Point 9233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePoint::~DrawablePoint ( void ) 9243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePoint::operator()( MagickCore::DrawingWand * context_ ) const 9273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPoint( context_, _x, _y ); 9293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9303ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePoint::copy() const 9313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePoint(*this); 9333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Text pointsize 9363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePointSize::~DrawablePointSize ( void ) 9373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePointSize::operator() 9403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 9413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetFontSize( context_, _pointSize ); 9433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9443ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePointSize::copy() const 9453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePointSize(*this); 9473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Polygon (Coordinate list must contain at least three members) 9503ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolygon::DrawablePolygon ( const CoordinateList &coordinates_ ) 9513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 9523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9543ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolygon::DrawablePolygon 9553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawablePolygon& original_ ) 9563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 9573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 9583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolygon::~DrawablePolygon ( void ) 9613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePolygon::operator() 9643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 9653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 966bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy size_t num_coords = (size_t) _coordinates.size(); 9673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *coordinates = new PointInfo[num_coords]; 9683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *q = coordinates; 9703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy CoordinateList::const_iterator p = _coordinates.begin(); 9713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy while( p != _coordinates.end() ) 9733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 9743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->x = p->x(); 9753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->y = p->y(); 9763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q++; 9773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p++; 9783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 9793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPolygon( context_, num_coords, coordinates ); 9813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete [] coordinates; 9823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9833ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePolygon::copy() const 9843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePolygon(*this); 9863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Polyline (Coordinate list must contain at least three members) 9893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolyline::DrawablePolyline 9903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const CoordinateList &coordinates_ ) 9913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 9923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolyline::DrawablePolyline 9953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawablePolyline& original_ ) 9963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 9973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 9983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10003ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePolyline::~DrawablePolyline ( void ) 10013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10033ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePolyline::operator() 10043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 10053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1006bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy size_t num_coords = (size_t) _coordinates.size(); 10073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *coordinates = new PointInfo[num_coords]; 10083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PointInfo *q = coordinates; 10103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy CoordinateList::const_iterator p = _coordinates.begin(); 10113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy while( p != _coordinates.end() ) 10133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 10143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->x = p->x(); 10153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q->y = p->y(); 10163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy q++; 10173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p++; 10183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 10193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPolyline( context_, num_coords, coordinates ); 10213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy delete [] coordinates; 10223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePolyline::copy() const 10243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePolyline(*this); 10263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Pop Graphic Context 10293ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePopGraphicContext::~DrawablePopGraphicContext ( void ) 10303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10323ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePopGraphicContext::operator() 10333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 10343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PopDrawingWand( context_ ); 10363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePopGraphicContext::copy() const 10383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePopGraphicContext(*this); 10403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Push Graphic Context 10433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushGraphicContext::~DrawablePushGraphicContext ( void ) 10443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10463ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePushGraphicContext::operator() 10473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 10483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PushDrawingWand( context_ ); 10503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePushGraphicContext::copy() const 10523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePushGraphicContext(*this); 10543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Pop (terminate) Pattern definition 10573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePopPattern::~DrawablePopPattern ( void ) 10583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePopPattern::operator() 10613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 10623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawPopPattern( context_ ); 10643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePopPattern::copy() const 10663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePopPattern(*this); 10683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 10703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Push Pattern definition 10713ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushPattern::DrawablePushPattern 1072bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy( const std::string &id_, ssize_t x_, ssize_t y_, 10734e0eef0224b2612b06c74d42d7f7c20f66f7f8b3cristy size_t width_, size_t height_ ) 10743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _id(id_), 10753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 10763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 10773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(width_), 10783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(height_) 10793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10813ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushPattern::DrawablePushPattern 10823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawablePushPattern& original_ ) 10833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 10843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _id(original_._id), 10853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 10863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y), 10873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _width(original_._width), 10883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _height(original_._height) 10893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10913ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawablePushPattern::~DrawablePushPattern ( void ) 10923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10943ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawablePushPattern::operator() 10953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 10963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (void) DrawPushPattern( context_, _id.c_str(), _x, _y, _width, _height ); 10983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawablePushPattern::copy() const 11003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawablePushPattern(*this); 11023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Rectangle 11053ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableRectangle::~DrawableRectangle ( void ) 11063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableRectangle::operator() 11093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 11103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawRectangle( context_, _upperLeftX, _upperLeftY, 11123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _lowerRightX, _lowerRightY ); 11133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11143ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableRectangle::copy() const 11153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableRectangle(*this); 11173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Apply Rotation 11203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableRotation::~DrawableRotation ( void ) 11213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableRotation::operator() 11243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 11253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawRotate( context_, _angle ); 11273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableRotation::copy() const 11293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableRotation(*this); 11313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Round Rectangle 11343ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableRoundRectangle::~DrawableRoundRectangle ( void ) 11353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableRoundRectangle::operator() 11383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 11393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawRoundRectangle( context_, _centerX,_centerY, _width,_hight, 11413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _cornerWidth, _cornerHeight); 11423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11433ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableRoundRectangle::copy() const 11443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableRoundRectangle(*this); 11463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Apply Scaling 11493ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableScaling::~DrawableScaling ( void ) 11503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11523ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableScaling::operator() 11533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 11543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawScale( context_, _x, _y ); 11563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableScaling::copy() const 11583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableScaling(*this); 11603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Apply Skew in the X direction 11633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableSkewX::~DrawableSkewX ( void ) 11643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11663ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableSkewX::operator() 11673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 11683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSkewX( context_, _angle ); 11703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11713ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableSkewX::copy() const 11723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableSkewX(*this); 11743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Apply Skew in the Y direction 11773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableSkewY::~DrawableSkewY ( void ) 11783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11803ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableSkewY::operator()( MagickCore::DrawingWand * context_ ) const 11813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSkewY( context_, _angle ); 11833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableSkewY::copy() const 11853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableSkewY(*this); 11873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1189e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableStrokeDashArray */ 1190e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokeDashArray::DrawableStrokeDashArray(const double* dasharray_) 11913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _size(0), 11923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _dasharray(0) 11933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11946ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk dasharray(dasharray_); 11953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11966ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1197e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokeDashArray::DrawableStrokeDashArray( 1198e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const Magick::DrawableStrokeDashArray& original_) 11993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 12006145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _size(original_._size), 12016145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray(new double[_size+1]) 12023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12036145b19e9636dd905f51bd5fcf3e035dd4585c8acristy // Copy elements 12046145b19e9636dd905f51bd5fcf3e035dd4585c8acristy { 12056145b19e9636dd905f51bd5fcf3e035dd4585c8acristy for (size_t i=0; i < _size; i++) 12066145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[i]=original_._dasharray[i]; 12076145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[_size]=0.0; 12086145b19e9636dd905f51bd5fcf3e035dd4585c8acristy } 12093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12106ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1211e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokeDashArray::~DrawableStrokeDashArray(void) 12123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12138e03eb0e783659db05f8e9c285ab9c7472e7fb77cristy delete [] _dasharray; 12146ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk _size=0; 1215e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _dasharray=(double *) NULL; 12163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12176ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1218e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokeDashArray& Magick::DrawableStrokeDashArray::operator=( 1219e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const Magick::DrawableStrokeDashArray &original_) 12203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1221e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk if (this != &original_) 12223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 12236145b19e9636dd905f51bd5fcf3e035dd4585c8acristy delete [] _dasharray; 12246145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _size=original_._size; 12256145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray = new double[_size+1]; 12266145b19e9636dd905f51bd5fcf3e035dd4585c8acristy // Copy elements 12276145b19e9636dd905f51bd5fcf3e035dd4585c8acristy { 12286145b19e9636dd905f51bd5fcf3e035dd4585c8acristy for (size_t i=0; i < _size; i++) 12296145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[i]=original_._dasharray[i]; 12306145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[_size]=0.0; 12316145b19e9636dd905f51bd5fcf3e035dd4585c8acristy } 12323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 1233e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(*this); 12343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12356ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1236e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokeDashArray::operator()( 12376ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk MagickCore::DrawingWand *context_) const 12383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1239e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk (void) DrawSetStrokeDashArray(context_,(const unsigned long) _size, 1240e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _dasharray); 12413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12426ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1243e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase *Magick::DrawableStrokeDashArray::copy() const 12443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1245e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableStrokeDashArray(*this)); 12463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12476ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 1248e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokeDashArray::dasharray(const double* dasharray_) 12493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12506ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk size_t 12516ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk n; 12526ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk 12536145b19e9636dd905f51bd5fcf3e035dd4585c8acristy delete [] _dasharray; 12546ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk _size=0; 12556ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk _dasharray=0; 12563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1257e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk if (dasharray_ != (const double *) NULL) 12583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1259e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const double 1260e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk *p; 1261e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 12623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Count elements in dash array 12636ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk n=0; 12643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1265e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk p = dasharray_; 12666145b19e9636dd905f51bd5fcf3e035dd4585c8acristy while(*p++ != 0.0) 12673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy n++; 12683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 12696ee69913aa0e7437e189c6bf55e5e406298fbaa9dirk _size=n; 12703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 12713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Allocate elements 12726145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray=new double[_size+1]; 12733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Copy elements 12743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 12756145b19e9636dd905f51bd5fcf3e035dd4585c8acristy for (size_t i=0; i < _size; i++) 12766145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[i]=dasharray_[i]; 12776145b19e9636dd905f51bd5fcf3e035dd4585c8acristy _dasharray[_size]=0.0; 12783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 12793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 12803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1282e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkconst double* Magick::DrawableStrokeDashArray::dasharray(void) const 12833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1284e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_dasharray); 12853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1286e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1287e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableStrokeDashOffset */ 1288e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokeDashOffset::~DrawableStrokeDashOffset(void) 1289e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1290e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1291e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1292e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokeDashOffset::operator() 1293e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk ( MagickCore::DrawingWand * context_) const 12943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1295e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetStrokeDashOffset(context_,_offset); 12963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1297e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1298e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableStrokeDashOffset::copy() const 12993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1300e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableStrokeDashOffset(*this)); 1301e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1302e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1303e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokeDashOffset::offset(const double offset_) 1304e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1305e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _offset=offset_; 1306e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1307e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1308e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkdouble Magick::DrawableStrokeDashOffset::offset(void) const 1309e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1310e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_offset); 13113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 13133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke linecap 13143ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeLineCap::~DrawableStrokeLineCap ( void ) 13153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableStrokeLineCap::operator() 13183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 13193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeLineCap( context_, _linecap ); 13213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableStrokeLineCap::copy() const 13233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableStrokeLineCap(*this); 13253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 13273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke linejoin 13283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeLineJoin::~DrawableStrokeLineJoin ( void ) 13293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13313ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableStrokeLineJoin::operator() 13323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 13333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeLineJoin( context_, _linejoin ); 13353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableStrokeLineJoin::copy() const 13373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableStrokeLineJoin(*this); 13393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 13413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke miterlimit 13423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableMiterLimit::~DrawableMiterLimit ( void ) 13433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13453ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableMiterLimit::operator() 13463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 13473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeMiterLimit( context_, _miterlimit ); 13493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13503ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableMiterLimit::copy() const 13513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableMiterLimit(*this); 13533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1355e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1356e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableStrokePatternUrl */ 1357e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokePatternUrl::DrawableStrokePatternUrl( 1358e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const std::string &url_) 1359e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : _url(url_) 1360e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1361e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1362e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1363e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokePatternUrl::DrawableStrokePatternUrl( 1364e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk const Magick::DrawableStrokePatternUrl& original_) 1365e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : DrawableBase(original_), 1366e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _url(original_._url) 1367e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1368e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1369e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1370e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableStrokePatternUrl::~DrawableStrokePatternUrl(void) 1371e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1372e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1373e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1374e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokePatternUrl::operator()( 1375e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand * context_) const 1376e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1377e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetStrokePatternURL(context_, _url.c_str()); 1378e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1379e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1380e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableStrokePatternUrl::url(const std::string &url_) 1381e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1382e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _url = url_; 1383e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1384e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1385e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkstd::string Magick::DrawableStrokePatternUrl::url(void) const 1386e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1387e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_url); 1388e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1389e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1390e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableStrokePatternUrl::copy() const 1391e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1392e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(new DrawableStrokePatternUrl(*this)); 1393e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1394e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 13953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke antialias 13963ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeAntialias::~DrawableStrokeAntialias ( void ) 13973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableStrokeAntialias::operator() 14003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( MagickCore::DrawingWand * context_ ) const 14013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeAntialias( context_, static_cast<MagickBooleanType> 14033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (_flag ? MagickTrue : MagickFalse) ); 14043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14053ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableStrokeAntialias::copy() const 14063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableStrokeAntialias(*this); 14083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 14103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke color 14113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeColor::DrawableStrokeColor 14123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Color &color_ ) 14133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _color(color_) 14143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeColor::DrawableStrokeColor 14173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawableStrokeColor& original_ ) 14183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 14193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _color(original_._color) 14203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14223ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeColor::~DrawableStrokeColor ( void ) 14233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableStrokeColor::operator() 14263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 14273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1428101ab708b0574518ac5715da4d3915400e9df79acristy PixelInfo color = static_cast<PixelInfo>(_color); 14293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PixelWand *pixel_wand=NewPixelWand(); 1430f82c4a017e3711a91012dbccd159f6835435dd7fcristy PixelSetPixelColor(pixel_wand,&color); 14313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeColor(context_,pixel_wand); 14323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy pixel_wand=DestroyPixelWand(pixel_wand); 14333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14343ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableStrokeColor::copy() const 14353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableStrokeColor(*this); 14373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1439c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkMagick::DrawableStrokeOpacity::~DrawableStrokeOpacity(void) 14403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1442c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk 1443c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkvoid Magick::DrawableStrokeOpacity::operator() 1444c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk (MagickCore::DrawingWand * context_) const 14453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1446c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk DrawSetStrokeOpacity(context_,_opacity); 14473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1448c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk 1449c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirkMagick::DrawableBase* Magick::DrawableStrokeOpacity::copy() const 14503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1451c8e845f3f7f8cf0458db8a34a631cda0b4b2c89cdirk return new DrawableStrokeOpacity(*this); 14523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 14543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Stroke width 14553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableStrokeWidth::~DrawableStrokeWidth ( void ) 14563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14583ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableStrokeWidth::operator() 14593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 14603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetStrokeWidth( context_, _width ); 14623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableStrokeWidth::copy() const 14643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableStrokeWidth(*this); 14663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 14683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Draw text at point 14693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableText::DrawableText ( const double x_, const double y_, 14703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const std::string &text_ ) 14713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x(x_), 14723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 14733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _text(text_), 14743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _encoding() 14753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableText::DrawableText ( const double x_, const double y_, 14783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const std::string &text_, const std::string &encoding_) 14793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x(x_), 14803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_), 14813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _text(text_), 14823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _encoding(encoding_) 14833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableText::DrawableText( const Magick::DrawableText& original_ ) 14863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 14873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 14883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y), 14893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _text(original_._text), 14903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _encoding(original_._encoding) 14913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14933ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableText::~DrawableText ( void ) 14943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14963ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableText::operator() 14973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 14983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetTextEncoding( context_, _encoding.c_str() ); 15003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawAnnotation( context_, _x, _y, 15013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy reinterpret_cast<const unsigned char*>(_text.c_str()) ); 15023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15033ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableText::copy() const 15043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableText(*this); 15063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1508e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk/* DrawableTextAlignment */ 1509e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableTextAlignment::DrawableTextAlignment( 1510e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk Magick::AlignType alignment_) 1511e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : _alignment(alignment_) 1512e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1513e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1514e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1515e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableTextAlignment::DrawableTextAlignment 1516e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk(const Magick::DrawableTextAlignment &original_) 1517e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk : DrawableBase(original_), 1518e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _alignment(original_._alignment) 1519e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1520e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1521e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1522e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableTextAlignment::~DrawableTextAlignment(void) 1523e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1524e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1525e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1526e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableTextAlignment::operator()( 1527e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk MagickCore::DrawingWand * context_) const 1528e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1529e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk DrawSetTextAlignment(context_, _alignment); 1530e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1531e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1532e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkvoid Magick::DrawableTextAlignment::alignment(AlignType alignment_) 1533e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1534e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk _alignment=alignment_; 1535e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1536e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1537e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::AlignType Magick::DrawableTextAlignment::alignment(void) const 1538e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1539e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return(_alignment); 1540e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1541e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 1542e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirkMagick::DrawableBase* Magick::DrawableTextAlignment::copy() const 1543e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk{ 1544e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk return new DrawableTextAlignment(*this); 1545e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk} 1546e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 15473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Text antialias 15483ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextAntialias::DrawableTextAntialias ( bool flag_ ) 15493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _flag(flag_) 15503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15523ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextAntialias::DrawableTextAntialias( const Magick::DrawableTextAntialias &original_ ) 15533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 15543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _flag(original_._flag) 15553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextAntialias::~DrawableTextAntialias ( void ) 15583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableTextAntialias::operator() 15613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 15623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetTextAntialias( context_, static_cast<MagickBooleanType> 15643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (_flag ? MagickTrue : MagickFalse) ); 15653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15663ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableTextAntialias::copy() const 15673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableTextAntialias(*this); 15693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1571e5b79ee9abe9ba71b3752e9f61748b0e5222bc1adirk 15723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Decoration (text decoration) 15733ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextDecoration::DrawableTextDecoration 15743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( Magick::DecorationType decoration_ ) 15753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _decoration(decoration_) 15763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextDecoration::DrawableTextDecoration 15793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( const Magick::DrawableTextDecoration &original_ ) 15803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 15813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _decoration(original_._decoration) 15823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextDecoration::~DrawableTextDecoration( void ) 15853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15873ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableTextDecoration::operator() 15883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 15893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetTextDecoration( context_, _decoration ); 15913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15923ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableTextDecoration::copy() const 15933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableTextDecoration(*this); 15953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1597c084d39d394d2314dc1b250c02e249936e093607dirk// DrawableTextDirection 1598c084d39d394d2314dc1b250c02e249936e093607dirkMagick::DrawableTextDirection::DrawableTextDirection( 1599c084d39d394d2314dc1b250c02e249936e093607dirk DirectionType direction_) 1600c084d39d394d2314dc1b250c02e249936e093607dirk : _direction(direction_) 1601c084d39d394d2314dc1b250c02e249936e093607dirk{ 1602c084d39d394d2314dc1b250c02e249936e093607dirk} 1603c084d39d394d2314dc1b250c02e249936e093607dirk 1604c084d39d394d2314dc1b250c02e249936e093607dirkMagick::DrawableTextDirection::~DrawableTextDirection(void) 1605c084d39d394d2314dc1b250c02e249936e093607dirk{ 1606c084d39d394d2314dc1b250c02e249936e093607dirk} 1607c084d39d394d2314dc1b250c02e249936e093607dirk 1608c084d39d394d2314dc1b250c02e249936e093607dirkvoid Magick::DrawableTextDirection::operator()( 1609c084d39d394d2314dc1b250c02e249936e093607dirk MagickCore::DrawingWand *context_) const 1610c084d39d394d2314dc1b250c02e249936e093607dirk{ 1611c084d39d394d2314dc1b250c02e249936e093607dirk DrawSetTextDirection(context_,_direction); 1612c084d39d394d2314dc1b250c02e249936e093607dirk} 1613c084d39d394d2314dc1b250c02e249936e093607dirk 1614c084d39d394d2314dc1b250c02e249936e093607dirkvoid Magick::DrawableTextDirection::direction(DirectionType direction_) 1615c084d39d394d2314dc1b250c02e249936e093607dirk{ 1616c084d39d394d2314dc1b250c02e249936e093607dirk _direction=direction_; 1617c084d39d394d2314dc1b250c02e249936e093607dirk} 1618c084d39d394d2314dc1b250c02e249936e093607dirk 1619c084d39d394d2314dc1b250c02e249936e093607dirkMagick::DirectionType Magick::DrawableTextDirection::direction(void) const 1620c084d39d394d2314dc1b250c02e249936e093607dirk{ 1621c084d39d394d2314dc1b250c02e249936e093607dirk return(_direction); 1622c084d39d394d2314dc1b250c02e249936e093607dirk} 1623c084d39d394d2314dc1b250c02e249936e093607dirk 1624c084d39d394d2314dc1b250c02e249936e093607dirkMagick::DrawableBase *Magick::DrawableTextDirection::copy() const 1625c084d39d394d2314dc1b250c02e249936e093607dirk{ 1626c084d39d394d2314dc1b250c02e249936e093607dirk return new DrawableTextDirection(*this); 1627c084d39d394d2314dc1b250c02e249936e093607dirk} 1628c084d39d394d2314dc1b250c02e249936e093607dirk 1629a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk// DrawableTextInterlineSpacing 1630a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextInterlineSpacing::DrawableTextInterlineSpacing( 1631a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk double spacing_) 1632a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk : _spacing(spacing_) 1633a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1634a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1635a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1636a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextInterlineSpacing::~DrawableTextInterlineSpacing(void) 1637a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1638a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1639a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1640a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextInterlineSpacing::operator()( 1641a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk MagickCore::DrawingWand *context_) const 1642a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1643a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk DrawSetTextInterlineSpacing(context_,_spacing); 1644a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1645a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1646a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextInterlineSpacing::spacing(double spacing_) 1647a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1648a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _spacing=spacing_; 1649a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1650a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1651a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::DrawableTextInterlineSpacing::spacing(void) const 1652a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1653a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_spacing); 1654a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1655a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1656a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableBase *Magick::DrawableTextInterlineSpacing::copy() const 1657a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1658a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return new DrawableTextInterlineSpacing(*this); 1659a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1660a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1661a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk// DrawableTextInterwordSpacing 1662a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextInterwordSpacing::DrawableTextInterwordSpacing( 1663a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk double spacing_) 1664a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk : _spacing(spacing_) 1665a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1666a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1667a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1668a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextInterwordSpacing::~DrawableTextInterwordSpacing(void) 1669a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1670a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1671a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1672a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextInterwordSpacing::operator()( 1673a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk MagickCore::DrawingWand *context_) const 1674a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1675a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk DrawSetTextInterwordSpacing(context_,_spacing); 1676a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1677a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1678a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextInterwordSpacing::spacing(double spacing_) 1679a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1680a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _spacing=spacing_; 1681a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1682a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1683a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::DrawableTextInterwordSpacing::spacing(void) const 1684a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1685a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_spacing); 1686a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1687a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1688a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableBase *Magick::DrawableTextInterwordSpacing::copy() const 1689a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1690a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return new DrawableTextInterwordSpacing(*this); 1691a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1692a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1693a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk// DrawableTextKerning 1694a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextKerning::DrawableTextKerning( 1695a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk double kerning_) 1696a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk : _kerning(kerning_) 1697a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1698a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1699a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1700a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableTextKerning::~DrawableTextKerning(void) 1701a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1702a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1703a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1704a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextKerning::operator()( 1705a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk MagickCore::DrawingWand *context_) const 1706a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1707a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk DrawSetTextKerning(context_,_kerning); 1708a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1709a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1710a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::DrawableTextKerning::kerning(double kerning_) 1711a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1712a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _kerning=kerning_; 1713a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1714a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1715a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::DrawableTextKerning::kerning(void) const 1716a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1717a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_kerning); 1718a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1719a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 1720a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkMagick::DrawableBase *Magick::DrawableTextKerning::copy() const 1721a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 1722a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return new DrawableTextKerning(*this); 1723a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 1724a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 17253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Set text undercolor 17263ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextUnderColor::DrawableTextUnderColor 17273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Color &color_ ) 17283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _color(color_) 17293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17313ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextUnderColor::DrawableTextUnderColor 17323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::DrawableTextUnderColor& original_ ) 17333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : DrawableBase (original_), 17343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _color(original_._color) 17353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTextUnderColor::~DrawableTextUnderColor ( void ) 17383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17403ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableTextUnderColor::operator() 17413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 17423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 1743101ab708b0574518ac5715da4d3915400e9df79acristy PixelInfo color = static_cast<PixelInfo>(_color); 17443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy PixelWand *pixel_wand=NewPixelWand(); 1745f82c4a017e3711a91012dbccd159f6835435dd7fcristy PixelSetPixelColor(pixel_wand,&color); 17463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetTextUnderColor(context_,pixel_wand); 17473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy pixel_wand=DestroyPixelWand(pixel_wand); 17483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17493ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableTextUnderColor::copy() const 17503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableTextUnderColor(*this); 17523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 17543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Apply Translation 17553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableTranslation::~DrawableTranslation ( void ) 17563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17583ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableTranslation::operator() 17593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 17603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawTranslate( context_, _x, _y ); 17623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableTranslation::copy() const 17643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableTranslation(*this); 17663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 17683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Set the size of the viewbox 17693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableViewbox::~DrawableViewbox ( void ) 17703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17723ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::DrawableViewbox::operator() 17733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 17743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawSetViewbox( context_, _x1, _y1, _x2, _y2 ); 17763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17773ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::DrawableBase* Magick::DrawableViewbox::copy() const 17783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new DrawableViewbox(*this); 17803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 17823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 17833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Classes 17843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 17853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 17863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 17873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// PathArcArgs 17883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 1789af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator == ( const Magick::PathArcArgs& /*left_*/, 17903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& /*right_*/ ) 17913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 1 ); 17933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1794af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator != ( const Magick::PathArcArgs& /*left_*/, 17953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& /*right_*/ ) 17963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 17983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1799af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator > ( const Magick::PathArcArgs& /*left_*/, 18003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& /*right_*/ ) 18013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 18033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1804af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator < ( const Magick::PathArcArgs& /*left_*/, 18053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& /*right_*/ ) 18063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( false ); 18083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1809af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator >= ( const Magick::PathArcArgs& left_, 18103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& right_ ) 18113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ > right_ ) || ( left_ == right_ ) ); 18133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1814af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator <= ( const Magick::PathArcArgs& left_, 18153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathArcArgs& right_ ) 18163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ < right_ ) || ( left_ == right_ ) ); 18183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Default constructor 18203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcArgs::PathArcArgs( void ) 18213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _radiusX(0), 18223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _radiusY(0), 18233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _xAxisRotation(0), 18243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _largeArcFlag(false), 18253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _sweepFlag(false), 18263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(0), 18273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(0) 18283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Normal constructor 18313ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcArgs::PathArcArgs( double radiusX_, double radiusY_, 18323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double xAxisRotation_, bool largeArcFlag_, 18333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy bool sweepFlag_, double x_, double y_ ) 18343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _radiusX(radiusX_), 18353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _radiusY(radiusY_), 18363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _xAxisRotation(xAxisRotation_), 18373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _largeArcFlag(largeArcFlag_), 18383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _sweepFlag(sweepFlag_), 18393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 18403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_) 18413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy constructor 18443ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcArgs::PathArcArgs( const Magick::PathArcArgs &original_ ) 18453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _radiusX(original_._radiusX), 18463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _radiusY(original_._radiusY), 18473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _xAxisRotation(original_._xAxisRotation), 18483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _largeArcFlag(original_._largeArcFlag), 18493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _sweepFlag(original_._sweepFlag), 18503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 18513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y) 18523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Destructor 18553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcArgs::~PathArcArgs ( void ) 18563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 18593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Arc 18603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcAbs::PathArcAbs ( const Magick::PathArcArgs &coordinates_ ) 18613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinates_) 18623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18643ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcAbs::PathArcAbs ( const PathArcArgsList &coordinates_ ) 18653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 18663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18683ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcAbs::PathArcAbs ( const Magick::PathArcAbs& original_ ) 18693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 18703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 18713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18733ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcAbs::~PathArcAbs ( void ) 18743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18763ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathArcAbs::operator()( MagickCore::DrawingWand * context_ ) const 18773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathArcArgsList::const_iterator p = _coordinates.begin(); 18793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 18803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 18813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathEllipticArcAbsolute( context_, p->radiusX(), p->radiusY(), 18823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->xAxisRotation(), (MagickBooleanType) p->largeArcFlag(), 18833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (MagickBooleanType) p->sweepFlag(), p->x(), p->y() ); 18843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 18853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18863ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathArcAbs::copy() const 18873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathArcAbs(*this); 18893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 18913ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcRel::PathArcRel ( const Magick::PathArcArgs &coordinates_ ) 18923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinates_) 18933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18953ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcRel::PathArcRel ( const PathArcArgsList &coordinates_ ) 18963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 18973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcRel::PathArcRel ( const Magick::PathArcRel& original_ ) 19003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 19013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 19023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19043ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathArcRel::~PathArcRel ( void ) 19053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathArcRel::operator()( MagickCore::DrawingWand * context_ ) const 19083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathArcArgsList::const_iterator p = _coordinates.begin(); 19103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 19113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 19123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathEllipticArcRelative( context_, p->radiusX(), p->radiusY(), 19133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->xAxisRotation(), (MagickBooleanType) p->largeArcFlag(), 19143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy (MagickBooleanType) p->sweepFlag(), p->x(), p->y() ); 19153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 19163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathArcRel::copy() const 19183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathArcRel(*this); 19203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 19223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 19233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Closepath 19243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 19253ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathClosePath::~PathClosePath ( void ) 19263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathClosePath::operator()( MagickCore::DrawingWand * context_ ) const 19293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathClose( context_ ); 19313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19323ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathClosePath::copy() const 19333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathClosePath(*this); 19353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 19373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 19383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Curveto (Cubic Bezier) 19393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 1940af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator == ( const Magick::PathCurvetoArgs& /*left_*/, 19413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& /*right_*/ ) 19423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 1 ); 19443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1945af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator != ( const Magick::PathCurvetoArgs& /*left_*/, 19463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& /*right_*/ ) 19473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 19493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1950af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator > ( const Magick::PathCurvetoArgs& /*left_*/, 19513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& /*right_*/ ) 19523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 19543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1955af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator < ( const Magick::PathCurvetoArgs& /*left_*/, 19563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& /*right_*/ ) 19573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( false ); 19593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1960af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator >= ( const Magick::PathCurvetoArgs& left_, 19613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& right_ ) 19623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ > right_ ) || ( left_ == right_ ) ); 19643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1965af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator <= ( const Magick::PathCurvetoArgs& left_, 19663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathCurvetoArgs& right_ ) 19673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ < right_ ) || ( left_ == right_ ) ); 19693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Default constructor 19713ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoArgs::PathCurvetoArgs( void ) 19723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(0), 19733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(0), 19743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x2(0), 19753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y2(0), 19763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(0), 19773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(0) 19783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Normal constructor 19813ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoArgs::PathCurvetoArgs( double x1_, double y1_, 19823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double x2_, double y2_, 19833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double x_, double y_ ) 19843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(x1_), 19853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(y1_), 19863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x2(x2_), 19873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y2(y2_), 19883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 19893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_) 19903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy constructor 19933ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoArgs::PathCurvetoArgs( const PathCurvetoArgs &original_ ) 19943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(original_._x1), 19953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(original_._y1), 19963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x2(original_._x2), 19973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y2(original_._y2), 19983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 19993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y) 20003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Destructor 20033ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoArgs::~PathCurvetoArgs ( void ) 20043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 20073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoAbs::PathCurvetoAbs ( const Magick::PathCurvetoArgs &args_ ) 20083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(1,args_) 20093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoAbs::PathCurvetoAbs ( const PathCurveToArgsList &args_ ) 20123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(args_) 20133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20153ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoAbs::PathCurvetoAbs 20163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( const Magick::PathCurvetoAbs& original_ ) 20173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 20183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _args(original_._args) 20193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20213ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoAbs::~PathCurvetoAbs ( void ) 20223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathCurvetoAbs::operator() 20253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 20263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathCurveToArgsList::const_iterator p = _args.begin(); 20283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _args.end(); p++ ) 20293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 20303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToAbsolute( context_, p->x1(), p->y1(), p->x2(), p->y2(), 20313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->x(), p->y() ); 20323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 20333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20343ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathCurvetoAbs::copy() const 20353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathCurvetoAbs(*this); 20373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20383ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoRel::PathCurvetoRel ( const Magick::PathCurvetoArgs &args_ ) 20393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(1,args_) 20403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoRel::PathCurvetoRel ( const PathCurveToArgsList &args_ ) 20433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(args_) 20443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20463ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoRel::PathCurvetoRel 20473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathCurvetoRel& original_ ) 20483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 20493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _args(original_._args) 20503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20523ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathCurvetoRel::~PathCurvetoRel ( void ) 20533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathCurvetoRel::operator() 20563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 20573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathCurveToArgsList::const_iterator p = _args.begin(); 20593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _args.end(); p++ ) 20603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 20613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToRelative( context_, p->x1(), p->y1(), p->x2(), p->y2(), 20623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->x(), p->y() ); 20633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 20643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathCurvetoRel::copy() const 20663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathCurvetoRel(*this); 20683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoAbs::PathSmoothCurvetoAbs 20703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Coordinate &coordinates_ ) 20713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinates_) 20723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoAbs::PathSmoothCurvetoAbs 20753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const CoordinateList &coordinates_ ) 20763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 20773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoAbs::PathSmoothCurvetoAbs 20803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathSmoothCurvetoAbs& original_ ) 20813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 20823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 20833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20853ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoAbs::~PathSmoothCurvetoAbs ( void ) 20863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathSmoothCurvetoAbs::operator() 20893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 20903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 20923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 20933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 20943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double x2 = p->x(); 20953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double y2 = p->y(); 20963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p++; 20973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(p != _coordinates.end() ) 20983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToSmoothAbsolute( context_, x2, y2, p->x(), p->y() ); 20993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 21003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathSmoothCurvetoAbs::copy() const 21023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathSmoothCurvetoAbs(*this); 21043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21053ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoRel::PathSmoothCurvetoRel 21063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Coordinate &coordinates_ ) 21073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinates_) 21083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21103ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoRel::PathSmoothCurvetoRel 21113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const CoordinateList &coordinates_ ) 21123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 21133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21153ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoRel::PathSmoothCurvetoRel 21163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathSmoothCurvetoRel& original_ ) 21173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 21183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 21193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21213ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothCurvetoRel::~PathSmoothCurvetoRel ( void ) 21223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathSmoothCurvetoRel::operator() 21253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 21263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 21283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 21293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 21303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double x2 = p->x(); 21313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double y2 = p->y(); 21323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p++; 21333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(p != _coordinates.end() ) 21343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToSmoothRelative( context_, x2, y2, p->x(), p->y() ); 21353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 21363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21373ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathSmoothCurvetoRel::copy() const 21383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathSmoothCurvetoRel(*this); 21403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 21423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 21433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Quadratic Curveto (Quadratic Bezier) 21443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 2145af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator == 21463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& /*left_*/, 21473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& /*right_*/ ) 21483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 1 ); 21503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2151af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator != 21523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& /*left_*/, 21533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& /*right_*/ ) 21543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 21563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2157af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator > 21583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& /*left_*/, 21593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& /*right_*/ ) 21603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 21623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2163af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator < 21643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& /*left_*/, 21653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& /*right_*/ ) 21663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( 0 ); 21683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2169af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator >= 21703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& left_, 21713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& right_ ) 21723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ > right_ ) || ( left_ == right_ ) ); 21743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2175af1dd259230d63d51f441c28bc23265a79b19c55cristyMagickPPExport int Magick::operator <= 21763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs& left_, 21773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy const Magick::PathQuadraticCurvetoArgs& right_ ) 21783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return ( ( left_ < right_ ) || ( left_ == right_ ) ); 21803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Default Constructor 21823ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoArgs::PathQuadraticCurvetoArgs( void ) 21833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(0), 21843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(0), 21853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(0), 21863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(0) 21873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 21893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Normal Constructor 21903ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoArgs::PathQuadraticCurvetoArgs( double x1_, 21913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double y1_, 21923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double x_, 21933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy double y_ ) 21943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(x1_), 21953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(y1_), 21963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(x_), 21973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(y_) 21983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copy Constructor 22013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoArgs::PathQuadraticCurvetoArgs( const PathQuadraticCurvetoArgs &original_ ) 22023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _x1(original_._x1), 22033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y1(original_._y1), 22043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _x(original_._x), 22053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _y(original_._y) 22063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Destructor 22093ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoArgs::~PathQuadraticCurvetoArgs ( void ) 22103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 22133ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoAbs::PathQuadraticCurvetoAbs 22143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs &args_ ) 22153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(1,args_) 22163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22183ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoAbs::PathQuadraticCurvetoAbs 22193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const PathQuadraticCurvetoArgsList &args_ ) 22203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(args_) 22213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoAbs::PathQuadraticCurvetoAbs 22243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoAbs& original_ ) 22253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 22263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _args(original_._args) 22273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22293ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoAbs::~PathQuadraticCurvetoAbs ( void ) 22303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22323ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathQuadraticCurvetoAbs::operator() 22333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 22343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathQuadraticCurvetoArgsList::const_iterator p = _args.begin(); 22363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _args.end(); p++ ) 22373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 22383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToQuadraticBezierAbsolute( context_, p->x1(), p->y1(), 22393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->x(), p->y() ); 22403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 22413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22423ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathQuadraticCurvetoAbs::copy() const 22433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathQuadraticCurvetoAbs(*this); 22453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22463ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoRel::PathQuadraticCurvetoRel 22473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoArgs &args_ ) 22483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(1,args_) 22493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoRel::PathQuadraticCurvetoRel 22523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const PathQuadraticCurvetoArgsList &args_ ) 22533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _args(args_) 22543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22563ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoRel::PathQuadraticCurvetoRel 22573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathQuadraticCurvetoRel& original_ ) 22583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 22593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _args(original_._args) 22603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22623ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathQuadraticCurvetoRel::~PathQuadraticCurvetoRel ( void ) 22633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathQuadraticCurvetoRel::operator() 22663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 22673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( PathQuadraticCurvetoArgsList::const_iterator p = _args.begin(); 22693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _args.end(); p++ ) 22703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 22713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToQuadraticBezierRelative( context_, p->x1(), p->y1(), 22723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p->x(), p->y() ); 22733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 22743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22753ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathQuadraticCurvetoRel::copy() const 22763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathQuadraticCurvetoRel(*this); 22783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoAbs::PathSmoothQuadraticCurvetoAbs 22803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Coordinate &coordinate_ ) 22813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 22823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22843ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoAbs::PathSmoothQuadraticCurvetoAbs 22853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const CoordinateList &coordinates_ ) 22863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 22873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoAbs::PathSmoothQuadraticCurvetoAbs 22903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::PathSmoothQuadraticCurvetoAbs& original_ ) 22913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 22923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 22933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22953ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoAbs::~PathSmoothQuadraticCurvetoAbs ( void ) 22963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 22983ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathSmoothQuadraticCurvetoAbs::operator() 22993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 23003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 23023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 23033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 23043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToQuadraticBezierSmoothAbsolute( context_, p->x(), p->y() ); 23053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 23063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23073ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathSmoothQuadraticCurvetoAbs::copy() const 23083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathSmoothQuadraticCurvetoAbs(*this); 23103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoRel::PathSmoothQuadraticCurvetoRel 23123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const Magick::Coordinate &coordinate_ ) 23133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 23143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoRel::PathSmoothQuadraticCurvetoRel 23173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const CoordinateList &coordinates_ ) 23183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 23193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23213ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoRel::PathSmoothQuadraticCurvetoRel 23223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy( const PathSmoothQuadraticCurvetoRel& original_ ) 23233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 23243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 23253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23273ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathSmoothQuadraticCurvetoRel::~PathSmoothQuadraticCurvetoRel ( void ) 23283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23303ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathSmoothQuadraticCurvetoRel::operator() 23313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 23323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 23343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 23353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 23363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathCurveToQuadraticBezierSmoothRelative( context_, p->x(), p->y() ); 23373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 23383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathSmoothQuadraticCurvetoRel::copy() const 23403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathSmoothQuadraticCurvetoRel(*this); 23423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 23443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 23453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Lineto 23463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 23473ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoAbs::PathLinetoAbs ( const Magick::Coordinate& coordinate_ ) 23483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 23493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoAbs::PathLinetoAbs ( const CoordinateList &coordinates_ ) 23523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 23533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23553ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoAbs::PathLinetoAbs ( const Magick::PathLinetoAbs& original_ ) 23563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 23573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 23583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoAbs::~PathLinetoAbs ( void ) 23613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23633ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoAbs::operator()( MagickCore::DrawingWand * context_ ) const 23643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 23663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 23673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 23683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToAbsolute( context_, p->x(), p->y() ); 23693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 23703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23713ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoAbs::copy() const 23723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoAbs(*this); 23743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23753ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoRel::PathLinetoRel ( const Magick::Coordinate& coordinate_ ) 23763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 23773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23793ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoRel::PathLinetoRel ( const CoordinateList &coordinates_ ) 23803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 23813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23833ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoRel::PathLinetoRel ( const Magick::PathLinetoRel& original_ ) 23843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 23853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 23863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23883ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoRel::~PathLinetoRel ( void ) 23893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23913ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoRel::operator()( MagickCore::DrawingWand * context_ ) const 23923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 23943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 23953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 23963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToRelative( context_, p->x(), p->y() ); 23973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 23983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23993ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoRel::copy() const 24003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoRel(*this); 24023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Horizontal Lineto 24063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24083ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoHorizontalAbs::~PathLinetoHorizontalAbs ( void ) 24093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24113ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoHorizontalAbs::operator() 24123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 24133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToHorizontalAbsolute( context_, _x ); 24153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24163ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoHorizontalAbs::copy() const 24173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoHorizontalAbs(*this); 24193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24203ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoHorizontalRel::~PathLinetoHorizontalRel ( void ) 24213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24233ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoHorizontalRel::operator() 24243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 24253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToHorizontalRelative( context_, _x ); 24273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24283ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoHorizontalRel::copy() const 24293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoHorizontalRel(*this); 24313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Vertical Lineto 24353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24363ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoVerticalAbs::~PathLinetoVerticalAbs ( void ) 24373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24393ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoVerticalAbs::operator() 24403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 24413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToVerticalAbsolute( context_, _y ); 24433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24443ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoVerticalAbs::copy() const 24453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoVerticalAbs(*this); 24473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24483ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathLinetoVerticalRel::~PathLinetoVerticalRel ( void ) 24493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24513ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathLinetoVerticalRel::operator() 24523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy ( MagickCore::DrawingWand * context_ ) const 24533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathLineToVerticalRelative( context_, _y ); 24553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24563ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathLinetoVerticalRel::copy() const 24573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathLinetoVerticalRel(*this); 24593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Path Moveto 24633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 24643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24653ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoAbs::PathMovetoAbs ( const Magick::Coordinate &coordinate_ ) 24663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 24673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24693ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoAbs::PathMovetoAbs ( const CoordinateList &coordinates_ ) 24703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 24713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24733ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoAbs::PathMovetoAbs ( const Magick::PathMovetoAbs& original_ ) 24743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 24753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 24763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24783ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoAbs::~PathMovetoAbs ( void ) 24793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24813ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathMovetoAbs::operator()( MagickCore::DrawingWand * context_ ) const 24823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 24843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 24853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 24863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathMoveToAbsolute( context_, p->x(), p->y() ); 24873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 24883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathMovetoAbs::copy() const 24903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathMovetoAbs(*this); 24923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24933ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoRel::PathMovetoRel ( const Magick::Coordinate &coordinate_ ) 24943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(1,coordinate_) 24953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24973ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoRel::PathMovetoRel ( const CoordinateList &coordinates_ ) 24983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : _coordinates(coordinates_) 24993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25013ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoRel::PathMovetoRel ( const Magick::PathMovetoRel& original_ ) 25023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy : VPathBase (original_), 25033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _coordinates(original_._coordinates) 25043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25063ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::PathMovetoRel::~PathMovetoRel ( void ) 25073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25093ed852eea50f9d4cd633efb8c2b054b8e33c253cristyvoid Magick::PathMovetoRel::operator()( MagickCore::DrawingWand * context_ ) const 25103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for( CoordinateList::const_iterator p = _coordinates.begin(); 25123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy p != _coordinates.end(); p++ ) 25133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 25143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DrawPathMoveToRelative( context_, p->x(), p->y() ); 25153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 25163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::VPathBase* Magick::PathMovetoRel::copy() const 25183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy return new PathMovetoRel(*this); 25203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 25223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(EXPLICIT_TEMPLATE_INSTANTIATION) 2523263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<Magick::Coordinate>; 2524263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<const Magick::Drawable>; 2525263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<const Magick::PathArcArgs>; 2526263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<const Magick::PathCurvetoArgs>; 2527263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<const Magick::PathQuadraticCurvetoArgs>; 2528263b876b613ee3cddda42810a4b421a73895327cdirk// template class std::vector<const Magick::VPath>; 25293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 2530