Magick++: CoderInfo.h Source File

Magick++ 7.1.0

CoderInfo.h
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Bob Friesenhahn, 2001, 2002
4 //
5 // Copyright @ 2013 ImageMagick Studio LLC, a non-profit organization
6 // dedicated to making software imaging solutions freely available.
7 //
8 // CoderInfo Definition
9 //
10 // Container for image format support information.
11 //
12
13 #if !defined (Magick_CoderInfo_header)
14 #define Magick_CoderInfo_header 1
15
16 #include "Magick++/Include.h"
17 #include <string>
18
19 namespace Magick
20 {
21 class MagickPPExport CoderInfo
22 {
23 public:
24
25 enum MatchType {
26 AnyMatch, // match any coder
27 TrueMatch, // match coder if true
28 FalseMatch // match coder if false
29 };
30
31 // Default constructor
32 CoderInfo(void);
33
34 // Copy constructor
35 CoderInfo(const CoderInfo &coder_);
36
37 // Construct with coder name
38 CoderInfo(const std::string &name_);
39
40 // Destructor
41 ~CoderInfo(void);
42
43 // Assignment operator
44 CoderInfo& operator=(const CoderInfo &coder_);
45
46 // Format can read multi-threaded
47 bool canReadMultithreaded(void) const;
48
49 // Format can write multi-threaded
50 bool canWriteMultithreaded(void) const;
51
52 // Format description
53 std::string description(void) const;
54
55 // Format supports multiple frames
56 bool isMultiFrame(void) const;
57
58 // Format is readable
59 bool isReadable(void) const;
60
61 // Format is writeable
62 bool isWritable(void) const;
63
64 // Format mime type
65 std::string mimeType(void) const;
66
67 // Name of the module
68 std::string module(void) const;
69
70 // Format name
71 std::string name(void) const;
72
73 // Unregisters this coder
74 bool unregister(void) const;
75
76 private:
77 bool _decoderThreadSupport;
78 std::string _description;
79 bool _encoderThreadSupport;
80 bool _isMultiFrame;
81 bool _isReadable;
82 bool _isWritable;
83 std::string _mimeType;
84 std::string _module;
85 std::string _name;
86 };
87
88 } // namespace Magick
89
90 #endif // Magick_CoderInfo_header
MagickPPExport
#define MagickPPExport
Definition: Include.h:297
Include.h
Magick::CoderInfo::AnyMatch
Definition: CoderInfo.h:26
Magick::CoderInfo::TrueMatch
Definition: CoderInfo.h:27
Magick
Definition: Blob.h:17
Magick::CoderInfo::MatchType
MatchType
Definition: CoderInfo.h:25
Magick::CoderInfo
Definition: CoderInfo.h:21