cache-view.h revision 2ed42f6d7c2245432767ea446742977ee87e963c
1/*
2  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4
5  You may not use this file except in compliance with the License.
6  obtain a copy of the License at
7
8    http://www.imagemagick.org/script/license.php
9
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15
16  MagickCore cache view methods.
17*/
18#ifndef _MAGICKCORE_CACHE_VIEW_H
19#define _MAGICKCORE_CACHE_VIEW_H
20
21#if defined(__cplusplus) || defined(c_plusplus)
22extern "C" {
23#endif
24
25#include "MagickCore/pixel.h"
26
27typedef enum
28{
29  UndefinedVirtualPixelMethod,
30  BackgroundVirtualPixelMethod,
31  DitherVirtualPixelMethod,
32  EdgeVirtualPixelMethod,
33  MirrorVirtualPixelMethod,
34  RandomVirtualPixelMethod,
35  TileVirtualPixelMethod,
36  TransparentVirtualPixelMethod,
37  MaskVirtualPixelMethod,
38  BlackVirtualPixelMethod,
39  GrayVirtualPixelMethod,
40  WhiteVirtualPixelMethod,
41  HorizontalTileVirtualPixelMethod,
42  VerticalTileVirtualPixelMethod,
43  HorizontalTileEdgeVirtualPixelMethod,
44  VerticalTileEdgeVirtualPixelMethod,
45  CheckerTileVirtualPixelMethod
46} VirtualPixelMethod;
47
48typedef struct _CacheView
49  CacheView;
50
51extern MagickExport CacheView
52  *AcquireCacheView(const Image *),
53  *CloneCacheView(const CacheView *),
54  *DestroyCacheView(CacheView *);
55
56extern MagickExport ClassType
57  GetCacheViewStorageClass(const CacheView *);
58
59extern MagickExport ColorspaceType
60  GetCacheViewColorspace(const CacheView *);
61
62extern MagickExport const Quantum
63  *GetCacheViewVirtualPixels(const CacheView *,const ssize_t,const ssize_t,
64    const size_t,const size_t,ExceptionInfo *),
65  *GetCacheViewVirtualPixelQueue(const CacheView *);
66
67extern MagickExport const void
68  *GetCacheViewVirtualMetacontent(const CacheView *);
69
70extern MagickExport ExceptionInfo
71  *GetCacheViewException(const CacheView *);
72
73extern MagickExport MagickBooleanType
74  GetOneCacheViewVirtualPixel(const CacheView *,const ssize_t,const ssize_t,
75    Quantum *,ExceptionInfo *),
76  GetOneCacheViewVirtualMethodPixel(const CacheView *,const VirtualPixelMethod,
77    const ssize_t,const ssize_t,Quantum *,ExceptionInfo *),
78  GetOneCacheViewAuthenticPixel(const CacheView *,const ssize_t,const ssize_t,
79    Quantum *,ExceptionInfo *),
80  SetCacheViewStorageClass(CacheView *,const ClassType),
81  SetCacheViewVirtualPixelMethod(CacheView *,const VirtualPixelMethod),
82  SyncCacheViewAuthenticPixels(CacheView *,ExceptionInfo *);
83
84extern MagickExport MagickSizeType
85  GetCacheViewExtent(const CacheView *);
86
87extern MagickExport Quantum
88  *GetCacheViewAuthenticPixelQueue(CacheView *),
89  *GetCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
90    const size_t,const size_t,ExceptionInfo *),
91  *QueueCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
92    const size_t,const size_t,ExceptionInfo *);
93
94extern MagickExport void
95  *GetCacheViewAuthenticMetacontent(CacheView *);
96
97#if defined(__cplusplus) || defined(c_plusplus)
98}
99#endif
100
101#endif
102