Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-03-13 09:14:20

0001 // This may look like C code, but it is really -*- C++ -*-
0002 //
0003 // Copyright Bob Friesenhahn, 2001, 2002
0004 //
0005 // Copyright @ 2013 ImageMagick Studio LLC, a non-profit organization
0006 // dedicated to making software imaging solutions freely available.
0007 //
0008 // CoderInfo Definition
0009 //
0010 // Container for image format support information.
0011 //
0012 
0013 #if !defined (Magick_CoderInfo_header)
0014 #define Magick_CoderInfo_header  1
0015 
0016 #include "Magick++/Include.h"
0017 #include <string>
0018 
0019 namespace Magick
0020 {
0021   class MagickPPExport CoderInfo
0022   {
0023   public:
0024 
0025     enum MatchType {
0026       AnyMatch,  // match any coder
0027       TrueMatch, // match coder if true
0028       FalseMatch // match coder if false
0029     };
0030 
0031     // Default constructor
0032     CoderInfo(void);
0033 
0034     // Copy constructor
0035     CoderInfo(const CoderInfo &coder_);
0036 
0037     // Construct with coder name
0038     CoderInfo(const std::string &name_);
0039 
0040     // Destructor
0041     ~CoderInfo(void);
0042 
0043     // Assignment operator
0044     CoderInfo& operator=(const CoderInfo &coder_);
0045 
0046     // Format can read multi-threaded
0047     bool canReadMultithreaded(void) const;
0048 
0049     // Format can write multi-threaded
0050     bool canWriteMultithreaded(void) const;
0051 
0052     // Format description
0053     std::string description(void) const;
0054 
0055     // Format supports multiple frames
0056     bool isMultiFrame(void) const;
0057 
0058     // Format is readable
0059     bool isReadable(void) const;
0060 
0061     // Format is writeable
0062     bool isWritable(void) const;
0063 
0064     // Format mime type
0065     std::string mimeType(void) const;
0066 
0067     // Name of the module
0068     std::string module(void) const;
0069 
0070     // Format name
0071     std::string name(void) const;
0072 
0073     // Unregisters this coder
0074     bool unregister(void) const;
0075 
0076   private:
0077     bool        _decoderThreadSupport;
0078     std::string _description;
0079     bool        _encoderThreadSupport;
0080     bool        _isMultiFrame;
0081     bool        _isReadable;
0082     bool        _isWritable;
0083     std::string _mimeType;
0084     std::string _module;
0085     std::string _name;
0086   };
0087 
0088 } // namespace Magick
0089 
0090 #endif // Magick_CoderInfo_header