summaryrefslogtreecommitdiff
path: root/dmagick/c/magickModule.d
blob: a40ce0cf5ce05c1ef162ec70cc692a991112b223 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
module dmagick.c.magickModule;

import core.stdc.stdio;
import core.stdc.time;

import dmagick.c.exception;
import dmagick.c.image;
import dmagick.c.magickType;
import dmagick.c.magickVersion;

extern(C)
{
	enum MagickModuleType
	{
		MagickImageCoderModule,
		MagickImageFilterModule
	}

	struct MagickModuleInfo
	{
		char*
			path,
			tag;

		void*
			handle;

		void
			function() unregister_module;

		size_t
			function() register_module;

		time_t
			timestamp;

		MagickBooleanType
			stealth;

		MagickModuleInfo*
			previous,
			next;

		size_t
			signature;
	}

	size_t ImageFilterHandler(Image**, const int, const(char)**, ExceptionInfo*);

	char** GetModuleList(const(char)*, const MagickModuleType, size_t*, ExceptionInfo*);

	const(MagickModuleInfo)** GetModuleInfoList(const(char)*, size_t*, ExceptionInfo*);

	static if ( MagickLibVersion < 0x689 )
	{
		MagickBooleanType InitializeModuleList(ExceptionInfo*);
	}

	MagickBooleanType InvokeDynamicImageFilter(const(char)*, Image**, const int, const(char)**, ExceptionInfo*);
	MagickBooleanType ListModuleInfo(FILE*, ExceptionInfo*);
	MagickBooleanType ModuleComponentGenesis();
	MagickBooleanType OpenModule(const(char)*, ExceptionInfo*);
	MagickBooleanType OpenModules(ExceptionInfo*);

	MagickModuleInfo* GetModuleInfo(const(char)*, ExceptionInfo*);

	void DestroyModuleList();
	void ModuleComponentTerminus();
	void RegisterStaticModules();
	void UnregisterStaticModules();
}