]> granicus.if.org Git - imagemagick/commitdiff
Added pingImages to STL (#1421).
authorDirk Lemstra <dirk@lemstra.org>
Mon, 17 Dec 2018 20:49:31 +0000 (21:49 +0100)
committerDirk Lemstra <dirk@lemstra.org>
Mon, 17 Dec 2018 20:49:31 +0000 (21:49 +0100)
Magick++/lib/Magick++/STL.h
Magick++/lib/STL.cpp

index e848008bfafd5d297fb83ef58690c9076e123d89..8adc6333dcf4855c4b78fabaf08796d91295f001 100644 (file)
@@ -873,6 +873,10 @@ namespace Magick
     void depth(size_t depth_);
     size_t depth(void) const;
 
+    // Ping the image instead of reading it
+    void ping(const bool flag_);
+    bool ping(void) const;
+
     // Suppress all warning messages. Error messages are still reported.
     void quiet(const bool quiet_);
     bool quiet(void) const;
@@ -2644,6 +2648,36 @@ namespace Magick
     ThrowPPException(first_->quiet());
   }
 
+  // Ping images into existing container (appending to container)
+  template<class Container>
+  void pingImages(Container *sequence_,const std::string &imageSpec_,
+    ReadOptions &options)
+  {
+    options.ping=true;
+    readImages(sequence_,imageSpec_,options);
+  }
+
+  template<class Container>
+  void pingImages(Container *sequence_,const std::string &imageSpec_)
+  {
+    ReadOptions options;
+    pingImages(sequence_,imageSpec_,options);
+  }
+
+  template<class Container>
+  void pingImages(Container *sequence_,const Blob &blob_,ReadOptions &options)
+  {
+    options.ping=true;
+    readImages(sequence_,blob_,options);
+  }
+
+  template<class Container>
+  void pingImages(Container *sequence_,const Blob &blob_)
+  {
+    ReadOptions options;
+    pingImages(sequence_,blob_,options);
+  }
+
   // Adds the names of the profiles of the image to the container.
   template <class Container>
   void profileNames(Container *names_,const Image* image_)
index b5b641fd9c8a9bd52f72a708ad5cefc5fcff95e2..b8d408de00854b81534b60f62e25b06481bce612 100644 (file)
@@ -830,20 +830,14 @@ size_t Magick::ReadOptions::depth(void) const
   return(_imageInfo->depth);
 }
 
-void Magick::ReadOptions::size(const Geometry &geometry_)
+void Magick::ReadOptions::ping(const bool flag_)
 {
-  _imageInfo->size=(char *) RelinquishMagickMemory(_imageInfo->size);
-
-  if ( geometry_.isValid() )
-    Magick::CloneString(&_imageInfo->size,geometry_);
+  _imageInfo->ping=(MagickBooleanType) flag_;
 }
 
-Magick::Geometry Magick::ReadOptions::size(void) const
+bool Magick::ReadOptions::ping(void) const
 {
-  if (_imageInfo->size)
-    return(Geometry(_imageInfo->size));
-
-  return(Geometry());
+   return(static_cast<bool>(_imageInfo->ping));
 }
 
 void Magick::ReadOptions::quiet(const bool quiet_)
@@ -856,6 +850,22 @@ bool Magick::ReadOptions::quiet(void) const
    return(_quiet);
 }
 
+void Magick::ReadOptions::size(const Geometry &geometry_)
+{
+  _imageInfo->size=(char *) RelinquishMagickMemory(_imageInfo->size);
+
+  if ( geometry_.isValid() )
+    Magick::CloneString(&_imageInfo->size,geometry_);
+}
+
+Magick::Geometry Magick::ReadOptions::size(void) const
+{
+  if (_imageInfo->size)
+    return(Geometry(_imageInfo->size));
+
+  return(Geometry());
+}
+
 MagickCore::ImageInfo *Magick::ReadOptions::imageInfo(void)
 {
   return(_imageInfo);