1 // This may look like C code, but it is really -*- C++ -*-
3 // Copyright Bob Friesenhahn, 1999, 2002, 2003
5 // Simple C++ function wrappers for ImageMagick equivalents
8 #define MAGICKCORE_IMPLEMENTATION 1
9 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
11 #include "Magick++/Include.h"
16 #include "Magick++/Functions.h"
17 #include "Magick++/Exception.h"
19 static bool magick_initialized=false;
21 // Clone C++ string as allocated C string, de-allocating any existing string
22 void Magick::CloneString(char **destination_, const std::string &source_)
24 MagickCore::CloneString(destination_,source_.c_str());
27 MagickPPExport void Magick::DisableOpenCL(void)
30 MagickCore::InitImageMagickOpenCL(MagickCore::MAGICK_OPENCL_OFF,NULL,NULL,
35 MagickPPExport bool Magick::EnableOpenCL(const bool useCache_)
42 status=MagickCore::InitImageMagickOpenCL(
43 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO,NULL,NULL,&exceptionInfo) ==
46 status=MagickCore::InitImageMagickOpenCL(
47 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO_CLEAR_CACHE,NULL,NULL,
48 &exceptionInfo) == MagickTrue;
53 MagickPPExport void Magick::InitializeMagick(const char *path_)
55 MagickCore::MagickCoreGenesis(path_,MagickFalse);
56 if (!magick_initialized)
57 magick_initialized=true;
60 MagickPPExport void Magick::TerminateMagick(void)
62 if (magick_initialized)
64 magick_initialized=false;
65 MagickCore::MagickCoreTerminus();