Coverage for /home/martinb/.local/share/virtualenvs/camcops/lib/python3.6/site-packages/wand/cdefs/core.py : 80%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1""":mod:`wand.cdefs.core` --- MagickCore definitions
2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4.. versionadded:: 0.5.0
5"""
6from ctypes import POINTER, c_void_p, c_char_p, c_int, c_size_t
7from wand.cdefs.wandtypes import c_magick_char_p, c_ssize_t
9__all__ = ('load', 'load_with_version')
12def load(libmagick):
13 """Define MagickCore methods.
14 We'll only define the bare-minimum methods to support the MagickWand
15 library.
17 .. seealso::
19 #include <magick/MagickCore.h>
20 // Or
21 #include <MagickCore/MagickCore.h>
23 :param libmagick: the loaded ``MagickCore`` library.
24 :type libmagick: :class:`ctypes.CDLL`
26 .. versionadded:: 0.5.0
28 """
29 libmagick.AcquireExceptionInfo.argtypes = []
30 libmagick.AcquireExceptionInfo.restype = c_void_p
31 libmagick.CloneImages.argtypes = [c_void_p, c_char_p, c_void_p]
32 libmagick.CloneImages.restype = c_void_p
33 libmagick.DestroyExceptionInfo.argtypes = [c_void_p]
34 libmagick.DestroyExceptionInfo.restype = c_void_p
35 libmagick.DestroyImage.argtypes = [c_void_p]
36 libmagick.DestroyImage.restype = c_void_p
37 try:
38 libmagick.GetGeometry.argtypes = [c_char_p,
39 POINTER(c_ssize_t),
40 POINTER(c_ssize_t),
41 POINTER(c_size_t),
42 POINTER(c_size_t)]
43 libmagick.GetGeometry.restype = c_int
44 except AttributeError:
45 libmagick.GetGeometry = None
46 libmagick.GetMagickCopyright.argtypes = []
47 libmagick.GetMagickCopyright.restype = c_char_p
48 try:
49 libmagick.GetMagickDelegates.argtypes = []
50 libmagick.GetMagickDelegates.restype = c_char_p
51 except AttributeError:
52 libmagick.GetMagickDelegates = None
53 libmagick.GetMagickFeatures.argtypes = []
54 libmagick.GetMagickFeatures.restype = c_char_p
55 try:
56 libmagick.GetMagickLicense.argtypes = []
57 libmagick.GetMagickLicense.restype = c_char_p
58 except AttributeError:
59 pass
60 libmagick.GetMagickPackageName.argtypes = []
61 libmagick.GetMagickPackageName.restype = c_char_p
62 libmagick.GetMagickQuantumDepth.argtypes = [POINTER(c_size_t)]
63 libmagick.GetMagickQuantumDepth.restype = c_char_p
64 libmagick.GetMagickQuantumRange.argtypes = [POINTER(c_size_t)]
65 libmagick.GetMagickQuantumRange.restype = c_char_p
66 libmagick.GetMagickReleaseDate.argtypes = []
67 libmagick.GetMagickReleaseDate.restype = c_char_p
68 libmagick.GetMagickResource.argtypes = [c_int]
69 libmagick.GetMagickResource.restype = c_size_t
70 libmagick.GetMagickResourceLimit.argtypes = [c_int]
71 libmagick.GetMagickResourceLimit.restype = c_size_t
72 libmagick.GetMagickVersion.argtypes = [POINTER(c_size_t)]
73 libmagick.GetMagickVersion.restype = c_char_p
74 libmagick.GetNextImageInList.argtypes = [c_void_p]
75 libmagick.GetNextImageInList.restype = c_void_p
76 libmagick.MagickToMime.argtypes = [c_char_p]
77 libmagick.MagickToMime.restype = c_magick_char_p
78 try:
79 libmagick.ParseChannelOption.argtypes = [c_char_p]
80 libmagick.ParseChannelOption.restypes = c_ssize_t
81 except AttributeError:
82 libmagick.ParseChannelOption = None
83 try:
84 libmagick.ParseGeometry.argtypes = [c_char_p, c_void_p]
85 libmagick.ParseGeometry.restype = c_int
86 libmagick.ParseMetaGeometry.argtypes = [c_char_p,
87 POINTER(c_ssize_t),
88 POINTER(c_ssize_t),
89 POINTER(c_size_t),
90 POINTER(c_size_t)]
91 libmagick.ParseMetaGeometry.restype = c_int
92 except AttributeError:
93 libmagick.ParseGeometry = None
94 libmagick.ParseMetaGeometry = None
95 libmagick.SetMagickResourceLimit.argtypes = [c_int, c_size_t]
96 libmagick.SetMagickResourceLimit.restype = c_int
99def load_with_version(libmagick, IM_VERSION):
100 if IM_VERSION < 0x700:
101 libmagick.AcquireKernelBuiltIn.argtypes = [c_int, c_void_p]
102 libmagick.AcquireKernelBuiltIn.restype = c_void_p
103 libmagick.AcquireKernelInfo.argtypes = [c_char_p]
104 libmagick.AcquireKernelInfo.restype = c_void_p
105 else:
106 libmagick.AcquireKernelBuiltIn.argtypes = [c_int, c_void_p,
107 c_void_p]
108 libmagick.AcquireKernelBuiltIn.restype = c_void_p
109 libmagick.AcquireKernelInfo.argtypes = [c_char_p, c_void_p]
110 libmagick.AcquireKernelInfo.restype = c_void_p
111 libmagick.DestroyKernelInfo.argtypes = [c_void_p]
112 libmagick.DestroyKernelInfo.restype = c_void_p