9#define MAGICKCORE_IMPLEMENTATION 1
10#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
12#include "Magick++/Include.h"
15#include "Magick++/Functions.h"
16#include "Magick++/Exception.h"
20static bool magick_initialized=
false;
22MagickPPExport
void Magick::CloneString(
char **destination_,
23 const std::string &source_)
25 MagickCore::CloneString(destination_,source_.c_str());
28MagickPPExport
void Magick::DisableOpenCL(
void)
31 MagickCore::InitImageMagickOpenCL(MagickCore::MAGICK_OPENCL_OFF,NULL,NULL,
33 ThrowPPException(
false);
36MagickPPExport
bool Magick::EnableOpenCL(
const bool useCache_)
43 status=MagickCore::InitImageMagickOpenCL(
44 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO,NULL,NULL,exceptionInfo) ==
47 status=MagickCore::InitImageMagickOpenCL(
48 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO_CLEAR_CACHE,NULL,NULL,
49 exceptionInfo) == MagickTrue;
50 ThrowPPException(
false);
54MagickPPExport
void Magick::InitializeMagick(
const char *path_)
56 MagickCore::MagickCoreGenesis(path_,MagickFalse);
57 if (!magick_initialized)
58 magick_initialized=
true;
61MagickPPExport
void Magick::SetRandomSeed(
const unsigned long seed)
63 MagickCore::SetRandomSecretKey(seed);
66MagickPPExport
void Magick::TerminateMagick(
void)
68 if (magick_initialized)
70 magick_initialized=
false;
71 MagickCore::MagickWandTerminus();