/*
- Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
+ Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
#ifndef _MAGICKCORE_CACHE_PRIVATE_H
#define _MAGICKCORE_CACHE_PRIVATE_H
-#if defined(__cplusplus) || defined(c_plusplus)
-extern "C" {
-#endif
-
-#include <time.h>
+#include "MagickCore/cache.h"
+#include "MagickCore/distribute-cache.h"
+#include "MagickCore/pixel.h"
#include "MagickCore/random_.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/semaphore.h"
-typedef enum
-{
- UndefinedCache,
- MemoryCache,
- MapCache,
- DiskCache,
- PingCache
-} CacheType;
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
typedef void
*Cache;
} CacheMethods;
typedef struct _NexusInfo
- NexusInfo;
+{
+ MagickBooleanType
+ mapped;
+
+ RectangleInfo
+ region;
+
+ MagickSizeType
+ length;
+
+ Quantum
+ *cache,
+ *pixels;
+
+ MagickBooleanType
+ authentic_pixel_cache;
+
+ void
+ *metacontent;
+
+ size_t
+ signature;
+} NexusInfo;
typedef struct _CacheInfo
{
ColorspaceType
colorspace;
+ PixelTrait
+ alpha_trait;
+
MagickBooleanType
- matte;
+ read_mask,
+ write_mask;
size_t
columns,
RandomInfo
*random_info;
+ void
+ *server_info;
+
MagickBooleanType
+ synchronize,
debug;
MagickThreadType
SemaphoreInfo
*semaphore,
- *disk_semaphore;
+ *file_semaphore;
time_t
timestamp;
DestroyPixelCache(Cache),
ReferencePixelCache(Cache);
-extern MagickPrivate CacheType
- GetPixelCacheType(const Image *);
-
extern MagickPrivate ClassType
GetPixelCacheStorageClass(const Cache);
extern MagickPrivate const Quantum
*GetVirtualPixelsFromNexus(const Image *,const VirtualPixelMethod,
const ssize_t,const ssize_t,const size_t,const size_t,NexusInfo *,
- ExceptionInfo *),
+ ExceptionInfo *) magick_hot_spot,
*GetVirtualPixelsNexus(const Cache,NexusInfo *);
extern MagickPrivate const void
extern MagickPrivate MagickBooleanType
CacheComponentGenesis(void),
- SyncAuthenticPixelCacheNexus(Image *,NexusInfo *,ExceptionInfo *),
+ SyncAuthenticPixelCacheNexus(Image *,NexusInfo *,ExceptionInfo *)
+ magick_hot_spot,
SyncImagePixelCache(Image *,ExceptionInfo *);
extern MagickPrivate MagickSizeType
extern MagickPrivate Quantum
*GetAuthenticPixelCacheNexus(Image *,const ssize_t,const ssize_t,
- const size_t,const size_t,NexusInfo *,ExceptionInfo *),
- *GetPixelCacheNexusPixels(const Cache,NexusInfo *),
- *QueueAuthenticNexus(Image *,const ssize_t,const ssize_t,const size_t,
- const size_t,const MagickBooleanType,NexusInfo *,ExceptionInfo *);
+ const size_t,const size_t,NexusInfo *,ExceptionInfo *) magick_hot_spot,
+ *QueueAuthenticPixelCacheNexus(Image *,const ssize_t,const ssize_t,
+ const size_t,const size_t,const MagickBooleanType,NexusInfo *,
+ ExceptionInfo *) magick_hot_spot;
extern MagickPrivate size_t
GetPixelCacheChannels(const Cache);
extern MagickPrivate VirtualPixelMethod
GetPixelCacheVirtualMethod(const Image *),
- SetPixelCacheVirtualMethod(const Image *,const VirtualPixelMethod);
+ SetPixelCacheVirtualMethod(Image *,const VirtualPixelMethod,ExceptionInfo *);
extern MagickPrivate void
CacheComponentTerminus(void),
ClonePixelCacheMethods(Cache,const Cache),
- *GetPixelCacheNexusMetacontent(const Cache,NexusInfo *),
*GetPixelCachePixels(Image *,MagickSizeType *,ExceptionInfo *),
GetPixelCacheTileSize(const Image *,size_t *,size_t *),
GetPixelCacheMethods(CacheMethods *),