]> granicus.if.org Git - imagemagick/commitdiff
Moved quiet() to options and fixed calls to throwExeption.
authordirk <dirk@git.imagemagick.org>
Sun, 1 Feb 2015 12:42:27 +0000 (12:42 +0000)
committerdirk <dirk@git.imagemagick.org>
Sun, 1 Feb 2015 12:42:27 +0000 (12:42 +0000)
Magick++/lib/Color.cpp
Magick++/lib/Image.cpp
Magick++/lib/Magick++/Image.h
Magick++/lib/Magick++/Options.h
Magick++/lib/Options.cpp
Magick++/lib/Pixels.cpp

index b883a51fbb81bb92f8e23fa0a9006195de43df0e..38fa12ed0e2936cbaa7b3f6086dd2ec3aef5c627 100644 (file)
@@ -228,7 +228,7 @@ const Magick::Color& Magick::Color::operator=(const std::string &color_)
     }
   else
     _isValid = false;
-  ThrowPPException(true);
+  ThrowPPException(false);
 
   return(*this);
 }
index 5d0c0e638db88c7b18694c60ab434c8fc054bd50..4cffb38e2b529a9ff302ac80e573472f5765270e 100644 (file)
@@ -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<Magick::Drawable> &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.");
     }
index 17ff6bf946bd98b35b11d902738ae8add69049d9..ffe9dd956410ec8624edce1c020a2db01a5be2d1 100644 (file)
@@ -1481,7 +1481,6 @@ namespace Magick
       const PixelInfo *target,const bool invert_);
 
     ImageRef *_imgRef;
-    bool     _quiet;
   };
 
 } // end of namespace Magick
index 61182d9ca21e9b68453c99301e2feac7229715c1..c5a63d93c6105b3c3cff6a6581b67295ff682294 100644 (file)
@@ -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
 
index 628f8404c36d17c80366e5a0dd7510c5f5b64444..576ec08a5ac3d8d7a28ca9a234759853e9414279 100644 (file)
@@ -29,7 +29,8 @@ Magick::Options::Options(void)
       sizeof(ImageInfo)))),
     _quantizeInfo(static_cast<QuantizeInfo*>(AcquireMagickMemory(
       sizeof(QuantizeInfo)))),
-    _drawInfo(static_cast<DrawInfo*>(AcquireMagickMemory(sizeof(DrawInfo))))
+    _drawInfo(static_cast<DrawInfo*>(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<MagickCore::Image*>(
         fillPattern_),0,0,static_cast<MagickBooleanType>(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_);
index 4b9914a5e66e65a432ab68bf2090fd44fc9db913..96f4dd751fa2d46db81ddcfdb86718b6daf570b3 100644 (file)
@@ -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_)