Magick++ 6.9.13
Loading...
Searching...
No Matches
Functions.cpp
1// This may look like C code, but it is really -*- C++ -*-
2//
3// Copyright Bob Friesenhahn, 1999, 2002, 2003
4// Copyright Dirk Lemstra 2014-2016
5//
6// Simple C++ function wrappers for ImageMagick equivalents
7//
8
9#define MAGICKCORE_IMPLEMENTATION 1
10#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
11
12#include "Magick++/Include.h"
13#include <string>
14
15#include "Magick++/Functions.h"
16#include "Magick++/Exception.h"
17
18using namespace std;
19
20static bool magick_initialized=false;
21
22MagickPPExport void Magick::CloneString(char **destination_,
23 const std::string &source_)
24{
25 MagickCore::CloneString(destination_,source_.c_str());
26}
27
28MagickPPExport void Magick::DisableOpenCL(void)
29{
30 GetPPException;
31 MagickCore::InitImageMagickOpenCL(MagickCore::MAGICK_OPENCL_OFF,NULL,NULL,
32 exceptionInfo);
33 ThrowPPException(false);
34}
35
36MagickPPExport bool Magick::EnableOpenCL(const bool useCache_)
37{
38 bool
39 status;
40
41 GetPPException;
42 if (useCache_)
43 status=MagickCore::InitImageMagickOpenCL(
44 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO,NULL,NULL,exceptionInfo) ==
45 MagickTrue;
46 else
47 status=MagickCore::InitImageMagickOpenCL(
48 MagickCore::MAGICK_OPENCL_DEVICE_SELECT_AUTO_CLEAR_CACHE,NULL,NULL,
49 exceptionInfo) == MagickTrue;
50 ThrowPPException(false);
51 return(status);
52}
53
54MagickPPExport void Magick::InitializeMagick(const char *path_)
55{
56 MagickCore::MagickCoreGenesis(path_,MagickFalse);
57 if (!magick_initialized)
58 magick_initialized=true;
59}
60
61MagickPPExport void Magick::SetRandomSeed(const unsigned long seed)
62{
63 MagickCore::SetRandomSecretKey(seed);
64}
65
66MagickPPExport void Magick::TerminateMagick(void)
67{
68 if (magick_initialized)
69 {
70 magick_initialized=false;
71 MagickCore::MagickWandTerminus();
72 }
73}