Options.cpp revision af4a73fc720b635879b16dd01b78abf468fcbba7
13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// This may look like C code, but it is really -*- C++ -*- 23ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003 4bed10b164d3d5f161ace78109adb5219446e9218dirk// Copyright Dirk Lemstra 2014-2015 53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Implementation of Options 73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// A wrapper around DrawInfo, ImageInfo, and QuantizeInfo 93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICKCORE_IMPLEMENTATION 1 123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICK_PLUSPLUS_IMPLEMENTATION 1 133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 14d4774283661e770ee52d54a7199b7c4d38208c35cristy#include "Magick++/Include.h" 153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string> 163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string.h> 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <stdlib.h> 183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <math.h> 19d4774283661e770ee52d54a7199b7c4d38208c35cristy 203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Options.h" 213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Functions.h" 223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Exception.h" 233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 24830e974c2864362a20c44c4a6e915b523cb56c66cristy#define MagickPI 3.14159265358979323846264338327950288419716939937510 253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define DegreesToRadians(x) (MagickPI*(x)/180.0) 2683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 2783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Options::Options(void) 2883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk : _imageInfo(static_cast<ImageInfo*>(AcquireMagickMemory( 2983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk sizeof(ImageInfo)))), 3083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo(static_cast<QuantizeInfo*>(AcquireMagickMemory( 3183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk sizeof(QuantizeInfo)))), 3207f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _drawInfo(static_cast<DrawInfo*>(AcquireMagickMemory(sizeof(DrawInfo)))), 3307f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _quiet(false) 343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Initialize image info with defaults 3683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetImageInfo(_imageInfo); 3783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Initialize quantization info 3983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetQuantizeInfo(_quantizeInfo); 403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Initialize drawing info 4283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetDrawInfo(_imageInfo,_drawInfo); 433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Options::Options(const Magick::Options& options_) 4683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk : _imageInfo(CloneImageInfo(options_._imageInfo )), 473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _quantizeInfo(CloneQuantizeInfo(options_._quantizeInfo)), 4807f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _drawInfo(CloneDrawInfo(_imageInfo,options_._drawInfo)), 4907f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _quiet(options_._quiet) 503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 533ed852eea50f9d4cd633efb8c2b054b8e33c253cristyMagick::Options::~Options() 543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Destroy image info 5683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo=DestroyImageInfo(_imageInfo); 573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Destroy quantization info 5983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo=DestroyQuantizeInfo(_quantizeInfo); 603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Destroy drawing info 6283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo=DestroyDrawInfo(_drawInfo); 633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 6583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::antiAlias(bool flag_) 663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 6783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->text_antialias=static_cast<MagickBooleanType>( 6883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk flag_ ? MagickTrue : MagickFalse); 693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 7183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::antiAlias(void) const 723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<bool>(_drawInfo->text_antialias)); 743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::adjoin(bool flag_) 773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->adjoin=static_cast<MagickBooleanType>( 7983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk flag_ ? MagickTrue : MagickFalse); 803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 8283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::adjoin(void) const 833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<bool>(_imageInfo->adjoin)); 853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::backgroundColor(const Magick::Color &color_) 883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 8983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->background_color=color_; 903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 9283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::backgroundColor(void) const 933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Magick::Color(_imageInfo->background_color)); 953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 9783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::backgroundTexture(const std::string &backgroundTexture_) 983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 9983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (backgroundTexture_.length() == 0) 1003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->texture=(char *) RelinquishMagickMemory(_imageInfo->texture); 1013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 10283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->texture,backgroundTexture_); 1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 10483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 10583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::backgroundTexture(void) const 1063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 10783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->texture) 10883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->texture)); 1093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 11083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 1113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 11383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::borderColor(const Color &color_) 1143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 11583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->border_color=color_; 11683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->border_color=color_; 1173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 11883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 11983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::borderColor(void) const 1203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Magick::Color(_imageInfo->border_color)); 1223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 12483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::boxColor(const Magick::Color &boxColor_) 1253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 12683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->undercolor=boxColor_; 1273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 12883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 12983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::boxColor(void) const 1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Magick::Color(_drawInfo->undercolor)); 1323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 13483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::colorspaceType(Magick::ColorspaceType colorspace_) 1353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 13683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->colorspace=colorspace_; 1373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 13883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 13983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::ColorspaceType Magick::Options::colorspaceType(void) const 1403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<Magick::ColorspaceType>(_imageInfo->colorspace)); 1423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 14483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::compressType(CompressionType compressType_) 1453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 14683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->compression=compressType_; 1473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 14883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 14983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::CompressionType Magick::Options::compressType(void) const 1503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<Magick::CompressionType>(_imageInfo->compression)); 1523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 15483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::colorFuzz(double fuzz_) 1553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 15683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->fuzz=fuzz_; 1573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 15883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 15983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkdouble Magick::Options::colorFuzz(void) const 1603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 16183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->fuzz); 1623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 16483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::debug(bool flag_) 1653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 16683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (flag_) 16783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk SetLogEventMask("All"); 1683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 16983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk SetLogEventMask("None"); 1703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 17183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 17283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::debug(void) const 1733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 17483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (IsEventLogging()) 17583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(true); 17683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(false); 1773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 179be1bbacaa9919aa3754e3abae43557be13669657dirkvoid Magick::Options::density(const Magick::Point &density_) 1803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 181be1bbacaa9919aa3754e3abae43557be13669657dirk if (!density_.isValid()) 1823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->density=(char *) RelinquishMagickMemory(_imageInfo->density); 1833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 18483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->density,density_); 1853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 18683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 187be1bbacaa9919aa3754e3abae43557be13669657dirkMagick::Point Magick::Options::density(void) const 1883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 18983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->density) 190be1bbacaa9919aa3754e3abae43557be13669657dirk return(Point(_imageInfo->density)); 1913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 192be1bbacaa9919aa3754e3abae43557be13669657dirk return(Point()); 1933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 19583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::depth(size_t depth_) 1963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 19783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->depth=depth_; 1983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 19983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 20083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::depth(void) const 2013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->depth); 2033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 20583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::endian(Magick::EndianType endian_) 2063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 20783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->endian=endian_; 2083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 20983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 21083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::EndianType Magick::Options::endian(void) const 2113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 21283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->endian); 2133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 21583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::file(FILE *file_) 21615781e5110c893ce0eb7924926ae0d1a056f90ebcristy{ 21783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk SetImageInfoFile(_imageInfo,file_); 21815781e5110c893ce0eb7924926ae0d1a056f90ebcristy} 21983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 22083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkFILE *Magick::Options::file(void) const 22115781e5110c893ce0eb7924926ae0d1a056f90ebcristy{ 22283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(GetImageInfoFile(_imageInfo)); 22315781e5110c893ce0eb7924926ae0d1a056f90ebcristy} 22415781e5110c893ce0eb7924926ae0d1a056f90ebcristy 22583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::fileName(const std::string &fileName_) 2263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 22783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk fileName_.copy(_imageInfo->filename,MaxTextExtent-1); 22883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (fileName_.length() > MaxTextExtent-1) 22983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->filename[MaxTextExtent-1]=0; 23083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk else 23183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->filename[fileName_.length()]=0; 2323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 23383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 23483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::fileName(void) const 2353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 23683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->filename)); 2373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 23983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::fillColor(const Magick::Color &fillColor_) 2403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->fill=fillColor_; 2423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if (fillColor_ == Magick::Color()) 2433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy fillPattern((const MagickCore::Image*) NULL); 2443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 24583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 24683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::fillColor(void) const 2473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 24883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->fill); 2493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 25083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 25183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::fillPattern(const MagickCore::Image *fillPattern_) 2523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 25383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_drawInfo->fill_pattern) 25483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->fill_pattern=DestroyImageList(_drawInfo->fill_pattern); 25583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 25683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (fillPattern_) 2573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 25883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetPPException; 25983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->fill_pattern=CloneImage(const_cast<MagickCore::Image*>( 26083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk fillPattern_),0,0,static_cast<MagickBooleanType>(MagickTrue), 261e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk exceptionInfo); 26207f84e72b205d18eb8ad35380af95351d9f0a1a3dirk ThrowPPException(_quiet); 2633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 2643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 26583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 26683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkconst MagickCore::Image *Magick::Options::fillPattern(void) const 2673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 26883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->fill_pattern); 2693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 27183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::fillRule(const Magick::FillRule &fillRule_) 2723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 27383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->fill_rule=fillRule_; 2743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 27583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 27683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::FillRule Magick::Options::fillRule(void) const 2773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 27883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->fill_rule); 2793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 2803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 28183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::font(const std::string &font_) 2823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 28383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (font_.length() == 0) 2843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->font=(char *) RelinquishMagickMemory(_imageInfo->font); 2863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->font=(char *) RelinquishMagickMemory(_drawInfo->font); 2873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 2883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 2893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 29083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->font,font_); 29183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_drawInfo->font,font_); 2923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 2933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 29483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 29583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::font(void) const 2963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 29783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->font) 29883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->font)); 2993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 30083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 3013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 30383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::fontPointsize(double pointSize_) 3043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 30583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->pointsize=pointSize_; 30683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->pointsize=pointSize_; 3073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 30883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 30983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkdouble Magick::Options::fontPointsize(void) const 3103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 31183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->pointsize); 3123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 31483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::format(void) const 3153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 31683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk const MagickInfo 31783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk *magick_info=0; 3183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 31983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetPPException; 32083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (*_imageInfo->magick != '\0' ) 321e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk magick_info = GetMagickInfo(_imageInfo->magick,exceptionInfo); 32207f84e72b205d18eb8ad35380af95351d9f0a1a3dirk ThrowPPException(_quiet); 32383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 32483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if ((magick_info != 0) && (*magick_info->description != '\0')) 32583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string( magick_info->description)); 3263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 32783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 3283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 33083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::interlaceType(Magick::InterlaceType interlace_) 3313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 33283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->interlace=interlace_; 3333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 33483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 33583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::InterlaceType Magick::Options::interlaceType(void) const 3363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 33783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<Magick::InterlaceType>(_imageInfo->interlace)); 3383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 34083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::magick(const std::string &magick_) 3413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 34249ccbc806b20f4892e6c8588768617afdfcee3cddirk if (magick_.empty()) 34349ccbc806b20f4892e6c8588768617afdfcee3cddirk { 3441723755555721a4f099b6d4e691de1114cdee5e5dirk _imageInfo->magick[0] = '\0'; 34549ccbc806b20f4892e6c8588768617afdfcee3cddirk return; 34649ccbc806b20f4892e6c8588768617afdfcee3cddirk } 34749ccbc806b20f4892e6c8588768617afdfcee3cddirk 34883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk FormatLocaleString(_imageInfo->filename,MaxTextExtent,"%.1024s:", 34983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk magick_.c_str()); 35083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetPPException; 351e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk SetImageInfo(_imageInfo,1,exceptionInfo); 352af4a73fc720b635879b16dd01b78abf468fcbba7cristy if ( _imageInfo->magick[0] == '\0' ) 353af4a73fc720b635879b16dd01b78abf468fcbba7cristy throwExceptionExplicit(MagickCore::OptionError,"Unrecognized image format", 354af4a73fc720b635879b16dd01b78abf468fcbba7cristy magick_.c_str()); 35507f84e72b205d18eb8ad35380af95351d9f0a1a3dirk ThrowPPException(_quiet); 3563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 35783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 35883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::magick(void) const 3593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 360af4a73fc720b635879b16dd01b78abf468fcbba7cristy if ( _imageInfo->magick[0] != '\0' ) 36183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->magick)); 36283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 36383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 3643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 36683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::matteColor(const Magick::Color &matteColor_) 3673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 36883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->matte_color=matteColor_; 3693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 37083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 37183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::matteColor(void) const 3723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 37383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Magick::Color(_imageInfo->matte_color)); 3743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 37683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::monochrome(bool monochromeFlag_) 3773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 37883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->monochrome=(MagickBooleanType) monochromeFlag_; 3793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 38083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 38183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::monochrome(void) const 3823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 38383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<bool>(_imageInfo->monochrome)); 3843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 3853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 38683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::page(const Magick::Geometry &pageSize_) 3873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 38883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (!pageSize_.isValid()) 3893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->page=(char *) RelinquishMagickMemory(_imageInfo->page); 3903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 39183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->page,pageSize_); 3923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 39383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 39483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Geometry Magick::Options::page(void) const 3953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 39683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->page) 39783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Geometry(_imageInfo->page)); 3983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 39983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Geometry()); 4003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 40283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::quality(size_t quality_) 4033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 40483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->quality=quality_; 4053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 40683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 40783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::quality(void) const 4083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 40983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->quality); 4103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 41283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::quantizeColors(size_t colors_) 4133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 41483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo->number_colors=colors_; 4153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 41683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 41783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::quantizeColors(void) const 4183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 41983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_quantizeInfo->number_colors); 4203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 42283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::quantizeColorSpace(Magick::ColorspaceType colorSpace_) 4233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 42483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo->colorspace=colorSpace_; 4253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 42683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 42783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::ColorspaceType Magick::Options::quantizeColorSpace(void) const 4283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 42983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<Magick::ColorspaceType>(_quantizeInfo->colorspace)); 4303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 43283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::quantizeDither(bool ditherFlag_) 4333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 43483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->dither=(MagickBooleanType) ditherFlag_; 43583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo->dither_method=ditherFlag_ ? RiemersmaDitherMethod : 436cbda611068350bf4459f2dda1951f8823702e129cristy NoDitherMethod; 4373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 43883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 43983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::quantizeDither(void) const 4403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 44183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<bool>(_imageInfo->dither)); 4423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4446d64b3658c2fa7218fbc309b9c85e3ec4441310edirkvoid Magick::Options::quantizeDitherMethod(DitherMethod ditherMethod_) 4456d64b3658c2fa7218fbc309b9c85e3ec4441310edirk{ 4466d64b3658c2fa7218fbc309b9c85e3ec4441310edirk _quantizeInfo->dither_method=ditherMethod_; 4476d64b3658c2fa7218fbc309b9c85e3ec4441310edirk} 4486d64b3658c2fa7218fbc309b9c85e3ec4441310edirk 4496d64b3658c2fa7218fbc309b9c85e3ec4441310edirkMagickCore::DitherMethod Magick::Options::quantizeDitherMethod(void) const 4506d64b3658c2fa7218fbc309b9c85e3ec4441310edirk{ 4516d64b3658c2fa7218fbc309b9c85e3ec4441310edirk return(_quantizeInfo->dither_method); 4526d64b3658c2fa7218fbc309b9c85e3ec4441310edirk} 4536d64b3658c2fa7218fbc309b9c85e3ec4441310edirk 45483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::quantizeTreeDepth(size_t treeDepth_) 4553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 45683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo->tree_depth=treeDepth_; 4573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 45883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 45983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::quantizeTreeDepth(void) const 4603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 46183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_quantizeInfo->tree_depth); 4623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 46407f84e72b205d18eb8ad35380af95351d9f0a1a3dirkvoid Magick::Options::quiet(const bool quiet_) 46507f84e72b205d18eb8ad35380af95351d9f0a1a3dirk{ 46607f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _quiet=quiet_; 46707f84e72b205d18eb8ad35380af95351d9f0a1a3dirk} 46807f84e72b205d18eb8ad35380af95351d9f0a1a3dirk 46907f84e72b205d18eb8ad35380af95351d9f0a1a3dirkbool Magick::Options::quiet(void) const 47007f84e72b205d18eb8ad35380af95351d9f0a1a3dirk{ 47107f84e72b205d18eb8ad35380af95351d9f0a1a3dirk return(_quiet); 47207f84e72b205d18eb8ad35380af95351d9f0a1a3dirk} 47307f84e72b205d18eb8ad35380af95351d9f0a1a3dirk 47483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::resolutionUnits(Magick::ResolutionType resolutionUnits_) 4753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 47683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->units=resolutionUnits_; 4773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 47883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 47983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::ResolutionType Magick::Options::resolutionUnits(void) const 4803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 48183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<Magick::ResolutionType>(_imageInfo->units)); 4823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 4833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 48483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::samplingFactor(const std::string &samplingFactor_) 4853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 48683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (samplingFactor_.length() == 0) 48783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->sampling_factor=(char *) RelinquishMagickMemory( 48883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->sampling_factor); 4893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 49083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->sampling_factor,samplingFactor_); 4913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 49283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 49383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::samplingFactor(void) const 4943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 49583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->sampling_factor) 49683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->sampling_factor)); 4973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 49883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 4993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 50183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::size(const Geometry &geometry_) 5023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 5033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->size=(char *) RelinquishMagickMemory(_imageInfo->size); 5043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 50583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (geometry_.isValid()) 50683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->size,geometry_); 5073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 50883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 50983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Geometry Magick::Options::size(void) const 5103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 51183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->size) 51283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Geometry(_imageInfo->size)); 5133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 51483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(Geometry()); 5153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 51783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeAntiAlias(bool flag_) 5183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 51983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk flag_ ? _drawInfo->stroke_antialias=MagickTrue : 52083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->stroke_antialias=MagickFalse; 5213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 52283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 52383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::strokeAntiAlias(void) const 5243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 52583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->stroke_antialias != 0 ? true : false); 5263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 52883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeColor(const Magick::Color &strokeColor_) 5293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 53083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->stroke=strokeColor_; 5313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 53283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 53383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Color Magick::Options::strokeColor(void) const 5343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 53583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->stroke); 5363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 53883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeDashArray(const double *strokeDashArray_) 5393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 54083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->dash_pattern=(double *) RelinquishMagickMemory( 54183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->dash_pattern); 5423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 5433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy if(strokeDashArray_) 5443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 54583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk size_t 54683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk x; 5473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Count elements in dash array 5483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy for (x=0; strokeDashArray_[x]; x++) ; 5493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Allocate elements 55083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->dash_pattern=static_cast<double*>(AcquireMagickMemory((x+1)* 55183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk sizeof(double))); 5523ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Copy elements 55383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk memcpy(_drawInfo->dash_pattern,strokeDashArray_,(x+1)*sizeof(double)); 5543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 5553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 55683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 55783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkconst double *Magick::Options::strokeDashArray(void) const 5583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 55983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->dash_pattern); 5603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 56283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeDashOffset(double strokeDashOffset_) 5633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 56483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->dash_offset=strokeDashOffset_; 5653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 56683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 56783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkdouble Magick::Options::strokeDashOffset(void) const 5683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 56983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->dash_offset); 5703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 57283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeLineCap(Magick::LineCap lineCap_) 5733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 57483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->linecap=lineCap_; 5753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 57683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 57783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::LineCap Magick::Options::strokeLineCap(void) const 5783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 57983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->linecap); 5803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 58283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeLineJoin(Magick::LineJoin lineJoin_) 5833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 58483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->linejoin=lineJoin_; 5853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 58683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 58783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::LineJoin Magick::Options::strokeLineJoin(void) const 5883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 58983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->linejoin); 5903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 5913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 59283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeMiterLimit(size_t miterLimit_) 5933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 59483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->miterlimit=miterLimit_; 5953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 59683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 59783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::strokeMiterLimit(void) const 5983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 59983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->miterlimit); 6003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 60283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokePattern(const MagickCore::Image *strokePattern_) 6033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 60483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_drawInfo->stroke_pattern) 60583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->stroke_pattern=DestroyImageList(_drawInfo->stroke_pattern); 6063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 60783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (strokePattern_) 6083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 60983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk GetPPException; 61077328896b876314656427663695bc7b2c9be3f74dirk _drawInfo->stroke_pattern=CloneImage(const_cast<MagickCore::Image*>( 611e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk strokePattern_),0,0,MagickTrue,exceptionInfo); 612170ed0c49740abf48dfcd2938532241fb760e910dirk ThrowPPException(_quiet); 6133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy } 6143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 61583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 61683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkconst MagickCore::Image *Magick::Options::strokePattern(void) const 6173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 61883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->stroke_pattern); 6193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 62183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::strokeWidth(double strokeWidth_) 6223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 62383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo->stroke_width=strokeWidth_; 6243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 62583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 62683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkdouble Magick::Options::strokeWidth(void) const 6273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 62883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo->stroke_width); 6293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 63183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::subImage(size_t subImage_) 6323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 63383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->scene=subImage_; 6343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 63583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 63683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::subImage(void) const 6373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 63883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->scene); 6393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 64183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::subRange(size_t subRange_) 6423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 64383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->number_scenes=subRange_; 6443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 64583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 64683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirksize_t Magick::Options::subRange(void) const 6473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 64883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->number_scenes); 6493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 651d37417692d7a7040aa854e493723e92fac1e3ae6dirkvoid Magick::Options::textDirection(DirectionType direction_) 652d37417692d7a7040aa854e493723e92fac1e3ae6dirk{ 653d37417692d7a7040aa854e493723e92fac1e3ae6dirk _drawInfo->direction=direction_; 654d37417692d7a7040aa854e493723e92fac1e3ae6dirk} 655d37417692d7a7040aa854e493723e92fac1e3ae6dirk 656d37417692d7a7040aa854e493723e92fac1e3ae6dirkMagick::DirectionType Magick::Options::textDirection() const 657d37417692d7a7040aa854e493723e92fac1e3ae6dirk{ 658d37417692d7a7040aa854e493723e92fac1e3ae6dirk return(_drawInfo->direction); 659d37417692d7a7040aa854e493723e92fac1e3ae6dirk} 660d37417692d7a7040aa854e493723e92fac1e3ae6dirk 66183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::textEncoding(const std::string &encoding_) 6623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 663d37417692d7a7040aa854e493723e92fac1e3ae6dirk CloneString(&_drawInfo->encoding,encoding_.c_str()); 6643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 66683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::textEncoding(void) const 6673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 66883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_drawInfo->encoding && *_drawInfo->encoding) 66983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_drawInfo->encoding)); 670d37417692d7a7040aa854e493723e92fac1e3ae6dirk 67183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 6723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 6733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 674d37417692d7a7040aa854e493723e92fac1e3ae6dirkvoid Magick::Options::textGravity(GravityType gravity_) 675d37417692d7a7040aa854e493723e92fac1e3ae6dirk{ 676d37417692d7a7040aa854e493723e92fac1e3ae6dirk _drawInfo->gravity=gravity_; 677d37417692d7a7040aa854e493723e92fac1e3ae6dirk} 678d37417692d7a7040aa854e493723e92fac1e3ae6dirk 679d37417692d7a7040aa854e493723e92fac1e3ae6dirkMagick::GravityType Magick::Options::textGravity() const 680d37417692d7a7040aa854e493723e92fac1e3ae6dirk{ 681d37417692d7a7040aa854e493723e92fac1e3ae6dirk return(_drawInfo->gravity); 682d37417692d7a7040aa854e493723e92fac1e3ae6dirk} 683d37417692d7a7040aa854e493723e92fac1e3ae6dirk 684a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::Options::textInterlineSpacing(double spacing_) 685a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 686a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _drawInfo->interline_spacing=spacing_; 687a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 688a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 689a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::Options::textInterlineSpacing(void) const 690a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 691a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_drawInfo->interline_spacing); 692a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 693a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 694a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::Options::textInterwordSpacing(double spacing_) 695a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 696a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _drawInfo->interword_spacing=spacing_; 697a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 698a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 699a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::Options::textInterwordSpacing(void) const 700a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 701a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_drawInfo->interword_spacing); 702a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 703a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 704a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkvoid Magick::Options::textKerning(double kerning_) 705a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 706a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk _drawInfo->kerning=kerning_; 707a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 708a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 709a424799a0e5bfd6d1b7941c044e067fbf18d319fdirkdouble Magick::Options::textKerning(void) const 710a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk{ 711a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk return(_drawInfo->kerning); 712a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk} 713a424799a0e5bfd6d1b7941c044e067fbf18d319fdirk 71483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformOrigin(double tx_,double ty_) 7153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 71683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk AffineMatrix 71783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine, 71883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk current=_drawInfo->affine; 71983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 7203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 7213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=0.0; 7223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=0.0; 7233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 7243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.tx=0.0; 7253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ty=0.0; 7263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 72783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine.tx=tx_; 72883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine.ty=ty_; 7293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx; 7313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx; 7323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy; 7333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy; 7343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty+current.tx; 7353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=current.rx*affine.tx+current.sy*affine.ty+current.ty; 7363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 73883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformReset(void) 7393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 7403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=1.0; 7413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=0.0; 7423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=0.0; 7433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=1.0; 7443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=0.0; 7453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=0.0; 7463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 74883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformRotation(double angle_) 7493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 75083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk AffineMatrix 75183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine, 75283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk current=_drawInfo->affine; 75383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 7543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 7553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=0.0; 7563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=0.0; 7573ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 7583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.tx=0.0; 7593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ty=0.0; 7603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=cos(DegreesToRadians(fmod(angle_,360.0))); 7623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=(-sin(DegreesToRadians(fmod(angle_,360.0)))); 7633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=sin(DegreesToRadians(fmod(angle_,360.0))); 7643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=cos(DegreesToRadians(fmod(angle_,360.0))); 7653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx; 7673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx; 7683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy; 7693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy; 7703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty+current.tx; 7713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=current.rx*affine.tx+current.sy*affine.ty+current.ty; 7723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 77483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformScale(double sx_,double sy_) 7753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 77683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk AffineMatrix 77783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine, 77883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk current=_drawInfo->affine; 77983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 7803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 7813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=0.0; 7823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=0.0; 7833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 7843ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.tx=0.0; 7853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ty=0.0; 7863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 78783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine.sx=sx_; 78883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine.sy=sy_; 7893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 7903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx; 7913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx; 7923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy; 7933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy; 7943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty+current.tx; 7953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=current.rx*affine.tx+current.sy*affine.ty+current.ty; 7963ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 7973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 79883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformSkewX(double skewx_) 7993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 80083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk AffineMatrix 80183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine, 80283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk current=_drawInfo->affine; 80383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 8043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 8053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=0.0; 8063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=0.0; 8073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 8083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.tx=0.0; 8093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ty=0.0; 8103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 8123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=tan(DegreesToRadians(fmod(skewx_,360.0))); 8133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 8143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx; 8163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx; 8173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy; 8183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy; 8193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty+current.tx; 8203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=current.rx*affine.tx+current.sy*affine.ty+current.ty; 8213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 82383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::transformSkewY(double skewy_) 8243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 82583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk AffineMatrix 82683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk affine, 82783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk current=_drawInfo->affine; 82883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 8293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 8303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=0.0; 8313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ry=0.0; 8323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 8333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.tx=0.0; 8343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.ty=0.0; 8353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sx=1.0; 8373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.rx=tan(DegreesToRadians(fmod(skewy_,360.0))); 8383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy affine.sy=1.0; 8393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 8403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx; 8413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx; 8423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy; 8433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy; 8443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty+current.tx; 8453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _drawInfo->affine.ty=current.rx*affine.tx+current.sy*affine.ty+current.ty; 8463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 84883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::type(const Magick::ImageType type_) 84983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk{ 85083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->type=type_; 85183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk} 85283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 85383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::ImageType Magick::Options::type(void) const 8543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 85583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo->type); 8563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 85783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 85883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::verbose(bool verboseFlag_) 8593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 86083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->verbose=(MagickBooleanType) verboseFlag_; 8613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 86383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkbool Magick::Options::verbose(void) const 8643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 86583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(static_cast<bool>(_imageInfo->verbose)); 86683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk} 86783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 86883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::view(const std::string &view_) 86983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk{ 87083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (view_.length() == 0) 8713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy _imageInfo->view=(char *) RelinquishMagickMemory(_imageInfo->view); 8723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 87383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->view, view_); 8743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 87583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 87683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::view(void) const 8773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 87883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->view) 87983c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string(_imageInfo->view)); 8803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 88183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 8823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 8833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 88483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkvoid Magick::Options::x11Display(const std::string &display_) 8853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 88683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (display_.length() == 0) 88783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->server_name=(char *) RelinquishMagickMemory( 88883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo->server_name); 8893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy else 89083c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk Magick::CloneString(&_imageInfo->server_name,display_); 8913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 89283c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 89383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkstd::string Magick::Options::x11Display(void) const 8943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 89583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk if (_imageInfo->server_name) 89683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string( _imageInfo->server_name)); 8973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 89883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(std::string()); 8993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 90183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagickCore::DrawInfo *Magick::Options::drawInfo(void) 9023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 90383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_drawInfo); 9043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 90683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagickCore::ImageInfo *Magick::Options::imageInfo(void) 9073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 90883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_imageInfo); 9093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 9103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 91183c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagickCore::QuantizeInfo *Magick::Options::quantizeInfo(void) 9123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 91383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk return(_quantizeInfo); 9143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 91583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk 91683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirkMagick::Options::Options(const MagickCore::ImageInfo* imageInfo_, 91783c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk const MagickCore::QuantizeInfo* quantizeInfo_, 91883c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk const MagickCore::DrawInfo* drawInfo_) 91907f84e72b205d18eb8ad35380af95351d9f0a1a3dirk: _imageInfo((MagickCore::ImageInfo* ) NULL), 92007f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _quantizeInfo((MagickCore::QuantizeInfo* ) NULL), 92107f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _drawInfo((MagickCore::DrawInfo* ) NULL), 92207f84e72b205d18eb8ad35380af95351d9f0a1a3dirk _quiet(false) 92383c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk{ 92483c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _imageInfo=CloneImageInfo(imageInfo_); 92583c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _quantizeInfo=CloneQuantizeInfo(quantizeInfo_); 92683c9c37e8e76d6e5d0ef32537a7a9cf80bf62e9edirk _drawInfo=CloneDrawInfo(imageInfo_,drawInfo_); 927830e974c2864362a20c44c4a6e915b523cb56c66cristy} 928