1 module dmagick.c.magickModule; 2 3 import core.stdc.stdio; 4 import core.stdc.time; 5 6 import dmagick.c.exception; 7 import dmagick.c.image; 8 import dmagick.c.magickType; 9 import dmagick.c.magickVersion; 10 11 extern(C) 12 { 13 enum MagickModuleType 14 { 15 MagickImageCoderModule, 16 MagickImageFilterModule 17 } 18 19 struct MagickModuleInfo 20 { 21 char* 22 path, 23 tag; 24 25 void* 26 handle; 27 28 void 29 function() unregister_module; 30 31 size_t 32 function() register_module; 33 34 time_t 35 timestamp; 36 37 MagickBooleanType 38 stealth; 39 40 MagickModuleInfo* 41 previous, 42 next; 43 44 size_t 45 signature; 46 } 47 48 size_t ImageFilterHandler(Image**, const int, const(char)**, ExceptionInfo*); 49 50 char** GetModuleList(const(char)*, const MagickModuleType, size_t*, ExceptionInfo*); 51 52 const(MagickModuleInfo)** GetModuleInfoList(const(char)*, size_t*, ExceptionInfo*); 53 54 static if ( MagickLibVersion < 0x689 ) 55 { 56 MagickBooleanType InitializeModuleList(ExceptionInfo*); 57 } 58 59 MagickBooleanType InvokeDynamicImageFilter(const(char)*, Image**, const int, const(char)**, ExceptionInfo*); 60 MagickBooleanType ListModuleInfo(FILE*, ExceptionInfo*); 61 MagickBooleanType ModuleComponentGenesis(); 62 MagickBooleanType OpenModule(const(char)*, ExceptionInfo*); 63 MagickBooleanType OpenModules(ExceptionInfo*); 64 65 MagickModuleInfo* GetModuleInfo(const(char)*, ExceptionInfo*); 66 67 void DestroyModuleList(); 68 void ModuleComponentTerminus(); 69 void RegisterStaticModules(); 70 void UnregisterStaticModules(); 71 }