13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy/* 27ce65e7125a4e1df1a274ce373c537a9df9c16cdCristy Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization 33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy dedicated to making software imaging solutions freely available. 43ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy You may not use this file except in compliance with the License. 63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy obtain a copy of the License at 73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy http://www.imagemagick.org/script/license.php 93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy Unless required by applicable law or agreed to in writing, software 113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy distributed under the License is distributed on an "AS IS" BASIS, 123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy See the License for the specific language governing permissions and 143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy limitations under the License. 153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MagickCore cache view methods. 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy*/ 1883bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#ifndef MAGICKCORE_CACHE_VIEW_H 1983bceaa5d7a1196e05c1ccba443f90f4b032fca6Cristy#define MAGICKCORE_CACHE_VIEW_H 203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 216398ec777e91813b64767e25358b7062a7de56cbcristy#include "MagickCore/pixel.h" 226398ec777e91813b64767e25358b7062a7de56cbcristy 233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 243ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern "C" { 253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 273ed852eea50f9d4cd633efb8c2b054b8e33c253cristytypedef enum 283ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy UndefinedVirtualPixelMethod, 303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy BackgroundVirtualPixelMethod, 313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy DitherVirtualPixelMethod, 323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy EdgeVirtualPixelMethod, 333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MirrorVirtualPixelMethod, 343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy RandomVirtualPixelMethod, 353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy TileVirtualPixelMethod, 363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy TransparentVirtualPixelMethod, 373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy MaskVirtualPixelMethod, 383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy BlackVirtualPixelMethod, 393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy GrayVirtualPixelMethod, 403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy WhiteVirtualPixelMethod, 413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy HorizontalTileVirtualPixelMethod, 423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy VerticalTileVirtualPixelMethod, 433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy HorizontalTileEdgeVirtualPixelMethod, 443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy VerticalTileEdgeVirtualPixelMethod, 453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy CheckerTileVirtualPixelMethod 463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} VirtualPixelMethod; 473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 483ed852eea50f9d4cd633efb8c2b054b8e33c253cristytypedef struct _CacheView 493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy CacheView; 503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 510d267170b2904c695cdfb443b3500f77b507d43ecristyextern MagickExport CacheView 5246ff2676b1044ea4101ac7a59b83289cd8f6cfdacristy *AcquireAuthenticCacheView(const Image *,ExceptionInfo *), 5346ff2676b1044ea4101ac7a59b83289cd8f6cfdacristy *AcquireVirtualCacheView(const Image *,ExceptionInfo *), 540d267170b2904c695cdfb443b3500f77b507d43ecristy *CloneCacheView(const CacheView *), 550d267170b2904c695cdfb443b3500f77b507d43ecristy *DestroyCacheView(CacheView *); 560d267170b2904c695cdfb443b3500f77b507d43ecristy 573ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern MagickExport ClassType 583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy GetCacheViewStorageClass(const CacheView *); 593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 603ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern MagickExport ColorspaceType 613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy GetCacheViewColorspace(const CacheView *); 623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 63e751662f8175c76e55da86bbf90d1a7d02425b9acristyextern MagickExport const Image 64e751662f8175c76e55da86bbf90d1a7d02425b9acristy *GetCacheViewImage(const CacheView *); 65e751662f8175c76e55da86bbf90d1a7d02425b9acristy 664c08aed51c5899665ade97263692328eea4af106cristyextern MagickExport const Quantum 67bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy *GetCacheViewVirtualPixels(const CacheView *,const ssize_t,const ssize_t, 6819596d6ee2c1da60386854e8a8d5e5f5926df3d2cristy const size_t,const size_t,ExceptionInfo *) magick_hot_spot, 6919596d6ee2c1da60386854e8a8d5e5f5926df3d2cristy *GetCacheViewVirtualPixelQueue(const CacheView *) magick_hot_spot; 703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 714c08aed51c5899665ade97263692328eea4af106cristyextern MagickExport const void 724c08aed51c5899665ade97263692328eea4af106cristy *GetCacheViewVirtualMetacontent(const CacheView *); 734c08aed51c5899665ade97263692328eea4af106cristy 743ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern MagickExport MagickBooleanType 7599ed6690cd1ac40875fdf40d362cbd559dcdade1cristy GetOneCacheViewAuthenticPixel(const CacheView *,const ssize_t,const ssize_t, 7699ed6690cd1ac40875fdf40d362cbd559dcdade1cristy Quantum *,ExceptionInfo *), 772ed42f6d7c2245432767ea446742977ee87e963ccristy GetOneCacheViewVirtualMethodPixel(const CacheView *,const VirtualPixelMethod, 782ed42f6d7c2245432767ea446742977ee87e963ccristy const ssize_t,const ssize_t,Quantum *,ExceptionInfo *), 7999ed6690cd1ac40875fdf40d362cbd559dcdade1cristy GetOneCacheViewVirtualPixel(const CacheView *,const ssize_t,const ssize_t, 8099ed6690cd1ac40875fdf40d362cbd559dcdade1cristy Quantum *,ExceptionInfo *), 81f05d4947caf1bc27fbec041eb37c474a80c83c0bcristy GetOneCacheViewVirtualPixelInfo(const CacheView *,const ssize_t,const ssize_t, 82f05d4947caf1bc27fbec041eb37c474a80c83c0bcristy PixelInfo *,ExceptionInfo *), 83c82a27bb8e3138ff9bbf0f696663bdf3e704cedecristy SetCacheViewStorageClass(CacheView *,const ClassType,ExceptionInfo *), 8405d2ff7ebf21f659f5b11e45afb294e152f4330cdirk SetCacheViewVirtualPixelMethod(CacheView *magick_restrict, 8505d2ff7ebf21f659f5b11e45afb294e152f4330cdirk const VirtualPixelMethod), 8605d2ff7ebf21f659f5b11e45afb294e152f4330cdirk SyncCacheViewAuthenticPixels(CacheView *magick_restrict,ExceptionInfo *) 87a29f2b8b7de8c644a26c39959b4f6dbea68542accristy magick_hot_spot; 883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 893ed852eea50f9d4cd633efb8c2b054b8e33c253cristyextern MagickExport MagickSizeType 903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy GetCacheViewExtent(const CacheView *); 913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 924c08aed51c5899665ade97263692328eea4af106cristyextern MagickExport Quantum 9319596d6ee2c1da60386854e8a8d5e5f5926df3d2cristy *GetCacheViewAuthenticPixelQueue(CacheView *) magick_hot_spot, 94bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy *GetCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t, 9519596d6ee2c1da60386854e8a8d5e5f5926df3d2cristy const size_t,const size_t,ExceptionInfo *) magick_hot_spot, 96bb50337b2a8a16ca7e903cc04ab195ff0fd47ae6cristy *QueueCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t, 9719596d6ee2c1da60386854e8a8d5e5f5926df3d2cristy const size_t,const size_t,ExceptionInfo *) magick_hot_spot; 983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 994c08aed51c5899665ade97263692328eea4af106cristyextern MagickExport void 1004c08aed51c5899665ade97263692328eea4af106cristy *GetCacheViewAuthenticMetacontent(CacheView *); 1014c08aed51c5899665ade97263692328eea4af106cristy 1023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if defined(__cplusplus) || defined(c_plusplus) 1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} 1043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 1053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif 107