11#define MAGICKCORE_IMPLEMENTATION 1
12#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
14#include "Magick++/Include.h"
15#include "Magick++/CoderInfo.h"
16#include "Magick++/Exception.h"
20Magick::CoderInfo::CoderInfo(
void)
21 : _decoderThreadSupport(false),
23 _encoderThreadSupport(false),
34 : _decoderThreadSupport(coder_._decoderThreadSupport),
35 _description(coder_._description),
36 _encoderThreadSupport(coder_._encoderThreadSupport),
37 _isMultiFrame(coder_._isMultiFrame),
38 _isReadable(coder_._isReadable),
39 _isWritable(coder_._isWritable),
40 _mimeType(coder_._mimeType),
41 _module(coder_._module),
46Magick::CoderInfo::CoderInfo(
const std::string &name_)
47 : _decoderThreadSupport(false),
49 _encoderThreadSupport(false),
57 const Magick::MagickInfo
61 magickInfo=GetMagickInfo(name_.c_str(),exceptionInfo);
62 ThrowPPException(
false);
64 throwExceptionExplicit(MagickCore::OptionError,
"Coder not found",
68 _decoderThreadSupport=(GetMagickDecoderThreadSupport(magickInfo) ==
69 MagickTrue) ?
true : false;
70 _description=std::string(magickInfo->description);
71 _encoderThreadSupport=(GetMagickEncoderThreadSupport(magickInfo) ==
72 MagickTrue) ?
true : false;
73 _isMultiFrame=(GetMagickAdjoin(magickInfo) == MagickTrue) ?
true : false;
74 _isReadable=((magickInfo->decoder == (MagickCore::DecodeImageHandler *)
75 NULL) ?
false :
true);
76 _isWritable=((magickInfo->encoder == (MagickCore::EncodeImageHandler *)
77 NULL) ?
false :
true);
78 _mimeType=std::string(magickInfo->mime_type != (
char *) NULL ?
79 magickInfo->mime_type :
"");
80 _module=std::string(magickInfo->magick_module);
81 _name=std::string(magickInfo->name);
85Magick::CoderInfo::~CoderInfo(
void)
94 _decoderThreadSupport=coder_._decoderThreadSupport;
95 _description=coder_._description;
96 _encoderThreadSupport=coder_._encoderThreadSupport;
97 _isMultiFrame=coder_._isMultiFrame;
98 _isReadable=coder_._isReadable;
99 _isWritable=coder_._isWritable;
100 _mimeType=coder_._mimeType;
101 _module=coder_._module;
107bool Magick::CoderInfo::canReadMultithreaded(
void)
const
109 return(_decoderThreadSupport);
112bool Magick::CoderInfo::canWriteMultithreaded(
void)
const
114 return(_encoderThreadSupport);
117std::string Magick::CoderInfo::description(
void)
const
119 return(_description);
122bool Magick::CoderInfo::isReadable(
void)
const
127bool Magick::CoderInfo::isWritable(
void)
const
132bool Magick::CoderInfo::isMultiFrame(
void)
const
134 return(_isMultiFrame);
137std::string Magick::CoderInfo::mimeType(
void)
const
142std::string Magick::CoderInfo::module(
void)
const
147std::string Magick::CoderInfo::name(
void)
const
152bool Magick::CoderInfo::unregister(
void)
const
154 return(UnregisterMagickInfo(_name.c_str()) != MagickFalse);