]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/cache-private.h
(no commit message)
[imagemagick] / MagickCore / cache-private.h
index 118a5a5a2726b2f68429b0436b769b71c6353ccc..e27142aabc9de62aba2fa667ea637b4ae3e56c26 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  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;
@@ -108,7 +101,29 @@ typedef struct _CacheMethods
 } 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
 {
@@ -118,8 +133,12 @@ typedef struct _CacheInfo
   ColorspaceType
     colorspace;
 
+  PixelTrait
+    alpha_trait;
+
   MagickBooleanType
-    matte;
+    read_mask,
+    write_mask;
 
   size_t
     columns,
@@ -178,7 +197,11 @@ typedef struct _CacheInfo
   RandomInfo
     *random_info;
 
+  void
+    *server_info;
+
   MagickBooleanType
+    synchronize,
     debug;
 
   MagickThreadType
@@ -189,7 +212,7 @@ typedef struct _CacheInfo
 
   SemaphoreInfo
     *semaphore,
-    *disk_semaphore;
+    *file_semaphore;
 
   time_t
     timestamp;
@@ -204,9 +227,6 @@ extern MagickPrivate Cache
   DestroyPixelCache(Cache),
   ReferencePixelCache(Cache);
 
-extern MagickPrivate CacheType
-  GetPixelCacheType(const Image *);
-
 extern MagickPrivate ClassType
   GetPixelCacheStorageClass(const Cache);
 
@@ -216,7 +236,7 @@ extern MagickPrivate ColorspaceType
 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
@@ -225,7 +245,8 @@ 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
@@ -237,22 +258,21 @@ extern MagickPrivate NexusInfo
 
 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 *),