1 module dmagick.c.cache;
2 
3 import dmagick.c.image;
4 import dmagick.c.pixel;
5 import dmagick.c.exception;
6 import dmagick.c.magickType;
7 import dmagick.c.magickVersion;
8 import dmagick.c.cacheView;
9 
10 alias ptrdiff_t ssize_t;
11 
12 extern(C)
13 {
14 	enum CacheType
15 	{
16 		UndefinedCache,
17 		MemoryCache,
18 		MapCache,
19 		DiskCache,
20 		PingCache,
21 		DistributedCache
22 	}
23 
24 	static if ( MagickLibVersion >= 0x677 )
25 	{
26 		CacheType GetImagePixelCacheType(const(Image)*);
27 	}
28 
29 	static if ( MagickLibVersion >= 0x699 )
30 	{
31 		const(char)* GetPixelCacheFilename(const(Image)*);
32 	}
33 
34 	const(IndexPacket)* GetVirtualIndexQueue(const(Image)*);
35 
36 	const(PixelPacket)* GetVirtualPixels(const(Image)*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
37 	const(PixelPacket)* GetVirtualPixelQueue(const(Image)*);
38 
39 	const(void)* AcquirePixelCachePixels(const(Image)*, MagickSizeType*, ExceptionInfo*);
40 
41 	IndexPacket* GetAuthenticIndexQueue(const(Image)*);
42 
43 	MagickBooleanType CacheComponentGenesis();
44 	MagickBooleanType GetOneVirtualMagickPixel(const(Image)*, const ssize_t, const ssize_t, MagickPixelPacket*, ExceptionInfo*);
45 	MagickBooleanType GetOneVirtualPixel(const(Image)*, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
46 	MagickBooleanType GetOneVirtualMethodPixel(const(Image)*, const VirtualPixelMethod, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
47 	MagickBooleanType GetOneAuthenticPixel(Image*, const ssize_t, const ssize_t, PixelPacket*, ExceptionInfo*);
48 	MagickBooleanType PersistPixelCache(Image*, const(char)*, const MagickBooleanType, MagickOffsetType*, ExceptionInfo*);
49 	MagickBooleanType SyncAuthenticPixels(Image*, ExceptionInfo*);
50 
51 	MagickSizeType GetImageExtent(const(Image)*);
52 
53 	PixelPacket* GetAuthenticPixels(Image*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
54 	PixelPacket* GetAuthenticPixelQueue(const(Image)*);
55 	PixelPacket* QueueAuthenticPixels(Image*, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo*);
56 
57 	VirtualPixelMethod GetPixelCacheVirtualMethod(const(Image)*);
58 	VirtualPixelMethod SetPixelCacheVirtualMethod(const(Image)*, const VirtualPixelMethod);
59 
60 	void  CacheComponentTerminus();
61 	void* GetPixelCachePixels(Image*, MagickSizeType*, ExceptionInfo*);
62 }