From 07f84e72b205d18eb8ad35380af95351d9f0a1a3 Mon Sep 17 00:00:00 2001 From: dirk Date: Sun, 1 Feb 2015 12:42:27 +0000 Subject: [PATCH] Moved quiet() to options and fixed calls to throwExeption. --- Magick++/lib/Color.cpp | 2 +- Magick++/lib/Image.cpp | 54 ++++++++++++++------------------- Magick++/lib/Magick++/Image.h | 1 - Magick++/lib/Magick++/Options.h | 11 +++++-- Magick++/lib/Options.cpp | 29 +++++++++++++----- Magick++/lib/Pixels.cpp | 11 +++---- 6 files changed, 57 insertions(+), 51 deletions(-) diff --git a/Magick++/lib/Color.cpp b/Magick++/lib/Color.cpp index b883a51fb..38fa12ed0 100644 --- a/Magick++/lib/Color.cpp +++ b/Magick++/lib/Color.cpp @@ -228,7 +228,7 @@ const Magick::Color& Magick::Color::operator=(const std::string &color_) } else _isValid = false; - ThrowPPException(true); + ThrowPPException(false); return(*this); } diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 5d0c0e638..4cffb38e2 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -27,7 +27,7 @@ using namespace std; #define AbsoluteValue(x) ((x) < 0 ? -(x) : (x)) #define MagickPI 3.14159265358979323846264338327950288419716939937510 #define DegreesToRadians(x) (MagickPI*(x)/180.0) -#define ThrowImageException ThrowPPException(_quiet) +#define ThrowImageException ThrowPPException(quiet()) MagickPPExport const char *Magick::borderGeometryDefault="6x6+0+0"; MagickPPExport const char *Magick::frameGeometryDefault="25x25+6+6"; @@ -75,14 +75,12 @@ MagickPPExport int Magick::operator <= (const Magick::Image &left_, } Magick::Image::Image(void) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { } Magick::Image::Image(const Blob &blob_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -102,8 +100,7 @@ Magick::Image::Image(const Blob &blob_) } Magick::Image::Image(const Blob &blob_,const Geometry &size_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -124,8 +121,7 @@ Magick::Image::Image(const Blob &blob_,const Geometry &size_) Magick::Image::Image(const Blob &blob_,const Geometry &size_, const size_t depth_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -146,8 +142,7 @@ Magick::Image::Image(const Blob &blob_,const Geometry &size_, Magick::Image::Image(const Blob &blob_,const Geometry &size_, const size_t depth_,const std::string &magick_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -168,8 +163,7 @@ Magick::Image::Image(const Blob &blob_,const Geometry &size_, Magick::Image::Image(const Blob &blob_,const Geometry &size_, const std::string &magick_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -189,8 +183,7 @@ Magick::Image::Image(const Blob &blob_,const Geometry &size_, } Magick::Image::Image(const Geometry &size_,const Color &color_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { // xc: prefix specifies an X11 color string std::string imageSpec("xc:"); @@ -217,16 +210,14 @@ Magick::Image::Image(const Geometry &size_,const Color &color_) } Magick::Image::Image(const Image &image_) - : _imgRef(image_._imgRef), - _quiet(image_._quiet) + : _imgRef(image_._imgRef) { _imgRef->increase(); } Magick::Image::Image(const size_t width_,const size_t height_, const std::string &map_,const StorageType type_,const void *pixels_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -245,8 +236,7 @@ Magick::Image::Image(const size_t width_,const size_t height_, } Magick::Image::Image(const std::string &imageSpec_) - : _imgRef(new ImageRef), - _quiet(false) + : _imgRef(new ImageRef) { try { @@ -729,7 +719,7 @@ std::string Magick::Image::directory(void) const if (constImage()->directory) return(std::string(constImage()->directory)); - if (!_quiet) + if (!quiet()) throwExceptionExplicit(MagickCore::CorruptImageWarning, "Image does not contain a directory"); @@ -903,7 +893,7 @@ std::string Magick::Image::format(void) const if ((magick_info != 0) && (*magick_info->description != '\0')) return(std::string(magick_info->description)); - if (!_quiet) + if (!quiet()) throwExceptionExplicit(MagickCore::CorruptImageWarning, "Unrecognized image magick type"); @@ -941,7 +931,7 @@ Magick::Geometry Magick::Image::geometry(void) const if (constImage()->geometry) return Geometry(constImage()->geometry); - if (!_quiet) + if (!quiet()) throwExceptionExplicit(MagickCore::OptionWarning, "Image does not contain a geometry"); @@ -1198,7 +1188,7 @@ Magick::Geometry Magick::Image::montageGeometry(void) const if (constImage()->montage) return Magick::Geometry(constImage()->montage); - if (!_quiet) + if (!quiet()) throwExceptionExplicit(MagickCore::CorruptImageWarning, "Image does not contain a montage"); @@ -1309,12 +1299,13 @@ size_t Magick::Image::quantizeTreeDepth() const void Magick::Image::quiet(const bool quiet_) { - _quiet=quiet_; + modifyImage(); + options()->quiet(quiet_); } bool Magick::Image::quiet(void) const { - return(_quiet); + return(constOptions()->quiet()); } void Magick::Image::renderingIntent( @@ -2739,7 +2730,7 @@ void Magick::Image::draw(const Magick::Drawable &drawable_) ClonePPDrawException(wand); wand=DestroyDrawingWand(wand); - ThrowPPDrawException(_quiet); + ThrowPPDrawException(quiet()); } } @@ -2767,7 +2758,7 @@ void Magick::Image::draw(const std::vector &drawable_) ClonePPDrawException(wand); wand=DestroyDrawingWand(wand); - ThrowPPDrawException(_quiet); + ThrowPPDrawException(quiet()); } } @@ -4800,8 +4791,7 @@ void Magick::Image::zoom(const Geometry &geometry_) } Magick::Image::Image(MagickCore::Image *image_) - : _imgRef(new ImageRef(image_)), - _quiet(false) + : _imgRef(new ImageRef(image_)) { } @@ -4903,7 +4893,7 @@ void Magick::Image::read(MagickCore::Image *image, image == (MagickCore::Image *) NULL) { (void) MagickCore::DestroyExceptionInfo(exceptionInfo); - if (!_quiet) + if (!quiet()) throwExceptionExplicit(MagickCore::ImageWarning, "No image was loaded."); } diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h index 17ff6bf94..ffe9dd956 100644 --- a/Magick++/lib/Magick++/Image.h +++ b/Magick++/lib/Magick++/Image.h @@ -1481,7 +1481,6 @@ namespace Magick const PixelInfo *target,const bool invert_); ImageRef *_imgRef; - bool _quiet; }; } // end of namespace Magick diff --git a/Magick++/lib/Magick++/Options.h b/Magick++/lib/Magick++/Options.h index 61182d9ca..c5a63d93c 100644 --- a/Magick++/lib/Magick++/Options.h +++ b/Magick++/lib/Magick++/Options.h @@ -1,7 +1,7 @@ // This may look like C code, but it is really -*- C++ -*- // // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003 -// Copyright Dirk Lemstra 2014 +// Copyright Dirk Lemstra 2014-2015 // // Definition of Options // @@ -167,6 +167,10 @@ namespace Magick void quantizeTreeDepth(size_t treeDepth_); size_t quantizeTreeDepth(void) const; + // Suppress all warning messages. Error messages are still reported. + void quiet(const bool quiet_); + bool quiet(void) const; + // Units of resolution to interpret density void resolutionUnits(ResolutionType resolutionUnits_); ResolutionType resolutionUnits(void) const; @@ -311,9 +315,10 @@ namespace Magick // Assignment not supported Options& operator=(const Options&); - MagickCore::ImageInfo *_imageInfo; + MagickCore::ImageInfo *_imageInfo; MagickCore::QuantizeInfo *_quantizeInfo; - MagickCore::DrawInfo *_drawInfo; + MagickCore::DrawInfo *_drawInfo; + bool _quiet; }; } // namespace Magick diff --git a/Magick++/lib/Options.cpp b/Magick++/lib/Options.cpp index 628f8404c..576ec08a5 100644 --- a/Magick++/lib/Options.cpp +++ b/Magick++/lib/Options.cpp @@ -29,7 +29,8 @@ Magick::Options::Options(void) sizeof(ImageInfo)))), _quantizeInfo(static_cast(AcquireMagickMemory( sizeof(QuantizeInfo)))), - _drawInfo(static_cast(AcquireMagickMemory(sizeof(DrawInfo)))) + _drawInfo(static_cast(AcquireMagickMemory(sizeof(DrawInfo)))), + _quiet(false) { // Initialize image info with defaults GetImageInfo(_imageInfo); @@ -44,7 +45,8 @@ Magick::Options::Options(void) Magick::Options::Options(const Magick::Options& options_) : _imageInfo(CloneImageInfo(options_._imageInfo )), _quantizeInfo(CloneQuantizeInfo(options_._quantizeInfo)), - _drawInfo(CloneDrawInfo(_imageInfo,options_._drawInfo)) + _drawInfo(CloneDrawInfo(_imageInfo,options_._drawInfo)), + _quiet(options_._quiet) { } @@ -257,7 +259,7 @@ void Magick::Options::fillPattern(const MagickCore::Image *fillPattern_) _drawInfo->fill_pattern=CloneImage(const_cast( fillPattern_),0,0,static_cast(MagickTrue), exceptionInfo); - ThrowPPException(true); + ThrowPPException(_quiet); } } @@ -317,7 +319,7 @@ std::string Magick::Options::format(void) const GetPPException; if (*_imageInfo->magick != '\0' ) magick_info = GetMagickInfo(_imageInfo->magick,exceptionInfo); - ThrowPPException(true); + ThrowPPException(_quiet); if ((magick_info != 0) && (*magick_info->description != '\0')) return(std::string( magick_info->description)); @@ -350,7 +352,7 @@ void Magick::Options::magick(const std::string &magick_) if (*_imageInfo->magick == '\0') throwExceptionExplicit(MagickCore::OptionError, "Unrecognized image format",magick_.c_str()); - ThrowPPException(true); + ThrowPPException(_quiet); } std::string Magick::Options::magick(void) const @@ -459,6 +461,16 @@ size_t Magick::Options::quantizeTreeDepth(void) const return(_quantizeInfo->tree_depth); } +void Magick::Options::quiet(const bool quiet_) +{ + _quiet=quiet_; +} + +bool Magick::Options::quiet(void) const +{ + return(_quiet); +} + void Magick::Options::resolutionUnits(Magick::ResolutionType resolutionUnits_) { _imageInfo->units=resolutionUnits_; @@ -904,9 +916,10 @@ MagickCore::QuantizeInfo *Magick::Options::quantizeInfo(void) Magick::Options::Options(const MagickCore::ImageInfo* imageInfo_, const MagickCore::QuantizeInfo* quantizeInfo_, const MagickCore::DrawInfo* drawInfo_) -: _imageInfo(0), - _quantizeInfo(0), - _drawInfo(0) +: _imageInfo((MagickCore::ImageInfo* ) NULL), + _quantizeInfo((MagickCore::QuantizeInfo* ) NULL), + _drawInfo((MagickCore::DrawInfo* ) NULL), + _quiet(false) { _imageInfo=CloneImageInfo(imageInfo_); _quantizeInfo=CloneQuantizeInfo(quantizeInfo_); diff --git a/Magick++/lib/Pixels.cpp b/Magick++/lib/Pixels.cpp index 4b9914a5e..96f4dd751 100644 --- a/Magick++/lib/Pixels.cpp +++ b/Magick++/lib/Pixels.cpp @@ -24,7 +24,7 @@ Magick::Pixels::Pixels(Magick::Image &image_) _rows(0) { GetPPException; - _view=AcquireVirtualCacheView(_image.image(),exceptionInfo), + _view=AcquireVirtualCacheView(image_.image(),exceptionInfo), ThrowPPException(image_.quiet()); } @@ -45,7 +45,7 @@ Magick::Quantum* Magick::Pixels::get(const ssize_t x_,const ssize_t y_, GetPPException; Quantum* pixels=GetCacheViewAuthenticPixels(_view,x_,y_,columns_,rows_, exceptionInfo); - ThrowPPException(true); + ThrowPPException(_image.quiet()); return pixels; } @@ -61,7 +61,7 @@ const Magick::Quantum* Magick::Pixels::getConst(const ssize_t x_, GetPPException; const Quantum* pixels=GetCacheViewVirtualPixels(_view,x_,y_,columns_,rows_, exceptionInfo); - ThrowPPException(true); + ThrowPPException(_image.quiet()); return pixels; } @@ -84,7 +84,7 @@ Magick::Quantum* Magick::Pixels::set(const ssize_t x_,const ssize_t y_, GetPPException; Quantum* pixels=QueueCacheViewAuthenticPixels(_view,x_,y_,columns_,rows_, exceptionInfo); - ThrowPPException(true); + ThrowPPException(_image.quiet()); return pixels; } @@ -93,7 +93,7 @@ void Magick::Pixels::sync(void) { GetPPException; SyncCacheViewAuthenticPixels(_view,exceptionInfo); - ThrowPPException(true); + ThrowPPException(_image.quiet()); } // Return pixel colormap index array @@ -142,7 +142,6 @@ const void *Magick::PixelData::data(void) const return(_size); } - void Magick::PixelData::init(Magick::Image &image_,const ::ssize_t x_, const ::ssize_t y_,const size_t width_,const size_t height_, std::string map_,const StorageType type_) -- 2.40.0