Magick++ 7.1.1
Loading...
Searching...
No Matches
CoderInfo.h
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
19namespace 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