Image Magick
ImageMagick-6.1.1/magick/cache_private.h
Go to the documentation of this file.00001
00002
00003
00004
#ifndef _MAGICK_CACHE_PRIVATE_H
00005
#define _MAGICK_CACHE_PRIVATE_H
00006
00007
#if defined(__cplusplus) || defined(c_plusplus)
00008
extern "C" {
00009
#endif
00010
00011 typedef enum
00012 {
00013
UndefinedCache,
00014
MemoryCache,
00015
MapCache,
00016
DiskCache
00017 }
CacheType;
00018
00019
typedef void
00020 *
Cache;
00021
00022
typedef IndexPacket
00023 *(*GetIndexesFromHandler)(
const Image *);
00024
00025
typedef MagickBooleanType
00026 (*SyncPixelHandler)(
Image *);
00027
00028
typedef const PixelPacket
00029 *(*AcquirePixelHandler)(
const Image *,
const long,
const long,
00030
const unsigned long,
const unsigned long,
ExceptionInfo *);
00031
00032
typedef PixelPacket
00033 (*AcquireOnePixelFromHandler)(
const Image *,
const long,
const long,
00034
ExceptionInfo *);
00035
00036
typedef PixelPacket
00037 (*GetOnePixelFromHandler)(
Image *,
const long,
const long);
00038
00039
typedef PixelPacket
00040 *(*GetPixelHandler)(
Image *,
const long,
const long,
const unsigned long,
00041
const unsigned long);
00042
00043
typedef PixelPacket
00044 *(*GetPixelsFromHandler)(
const Image *);
00045
00046
typedef PixelPacket
00047 *(*SetPixelHandler)(
Image *,
const long,
const long,
const unsigned long,
00048
const unsigned long);
00049
00050
typedef void
00051 (*DestroyPixelHandler)(
Image *);
00052
00053 typedef struct _CacheMethods
00054 {
00055
AcquireOnePixelFromHandler
00056 acquire_one_pixel_from_handler;
00057
00058
AcquirePixelHandler
00059 acquire_pixel_handler;
00060
00061
DestroyPixelHandler
00062 destroy_pixel_handler;
00063
00064
GetIndexesFromHandler
00065 get_indexes_from_handler;
00066
00067
GetOnePixelFromHandler
00068 get_one_pixel_from_handler;
00069
00070
GetPixelHandler
00071 get_pixel_handler;
00072
00073
GetPixelsFromHandler
00074 get_pixels_from_handler;
00075
00076
SetPixelHandler
00077 set_pixel_handler;
00078
00079
SyncPixelHandler
00080 sync_pixel_handler;
00081 }
CacheMethods;
00082
00083 typedef struct _NexusInfo NexusInfo;
00084
00085 typedef struct _CacheInfo
00086 {
00087
unsigned long
00088 id;
00089
00090
NexusInfo
00091 *
nexus_info;
00092
00093
unsigned long
00094 number_views;
00095
00096
ClassType
00097 storage_class;
00098
00099
ColorspaceType
00100 colorspace;
00101
00102
CacheType
00103 type;
00104
00105
MagickBooleanType
00106 mapped;
00107
00108
unsigned long
00109 columns,
00110
rows;
00111
00112
MagickOffsetType
00113 offset;
00114
00115
MagickSizeType
00116 length;
00117
00118
PixelPacket
00119 *
pixels;
00120
00121
IndexPacket
00122 *
indexes;
00123
00124
VirtualPixelMethod
00125 virtual_pixel_method;
00126
00127
PixelPacket
00128 virtual_pixel;
00129
00130
int
00131 file;
00132
00133
char
00134 filename[
MaxTextExtent],
00135
cache_filename[
MaxTextExtent];
00136
00137
CacheMethods
00138 methods;
00139
00140
MagickBooleanType
00141 debug;
00142
00143
long
00144 reference_count;
00145
00146
void
00147 *
semaphore;
00148
00149
unsigned long
00150 signature;
00151 }
CacheInfo;
00152
00153
extern MagickExport Cache
00154
DestroyCacheInfo(Cache),
00155
ReferenceCache(Cache);
00156
00157
extern MagickExport ClassType
00158
GetCacheClass(
const Cache);
00159
00160
extern MagickExport ColorspaceType
00161
GetCacheColorspace(
const Cache);
00162
00163
extern MagickExport IndexPacket
00164 *
GetNexusIndexes(
const Cache,
const unsigned long);
00165
00166
extern MagickExport PixelPacket
00167 *
GetNexusPixels(
const Cache,
const unsigned long);
00168
00169
extern MagickExport unsigned long
00170
GetNexus(Cache);
00171
00172
extern MagickExport void
00173
ClonePixelCacheMethods(Cache,
const Cache),
00174
DestroyCacheNexus(Cache,
const unsigned long),
00175
GetCacheInfo(Cache *),
00176
SetPixelCacheMethods(Cache,AcquirePixelHandler,GetPixelHandler,
00177 SetPixelHandler,SyncPixelHandler,GetPixelsFromHandler,GetIndexesFromHandler,
00178 AcquireOnePixelFromHandler,GetOnePixelFromHandler,DestroyPixelHandler);
00179
00180
#if defined(__cplusplus) || defined(c_plusplus)
00181
}
00182
#endif
00183
00184
#endif
Generated on Mon Oct 25 13:42:08 2004 for ImageMagick by
1.3.7
ImageMagick Copyright © 2004, ImageMagick Studio LLC