Home | History | Annotate | Download | only in MagickWand
      1 /*
      2   Copyright 1999-2016 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   Pixel Iterator Methods.
     17 */
     18 #ifndef MAGICKWAND_PIXEL_ITERATOR_H
     19 #define MAGICKWAND_PIXEL_ITERATOR_H
     20 
     21 #include "MagickWand/MagickWand.h"
     22 #include "MagickWand/pixel-wand.h"
     23 
     24 #if defined(__cplusplus) || defined(c_plusplus)
     25 extern "C" {
     26 #endif
     27 
     28 typedef struct _PixelIterator
     29   PixelIterator;
     30 
     31 extern WandExport char
     32   *PixelGetIteratorException(const PixelIterator *,ExceptionType *);
     33 
     34 extern WandExport ExceptionType
     35   PixelGetIteratorExceptionType(const PixelIterator *);
     36 
     37 extern WandExport MagickBooleanType
     38   IsPixelIterator(const PixelIterator *),
     39   PixelClearIteratorException(PixelIterator *),
     40   PixelSetIteratorRow(PixelIterator *,const ssize_t),
     41   PixelSyncIterator(PixelIterator *);
     42 
     43 extern WandExport PixelIterator
     44   *ClonePixelIterator(const PixelIterator *),
     45   *DestroyPixelIterator(PixelIterator *),
     46   *NewPixelIterator(MagickWand *),
     47   *NewPixelRegionIterator(MagickWand *,const ssize_t,const ssize_t,const size_t,
     48     const size_t);
     49 
     50 extern WandExport PixelWand
     51   **PixelGetCurrentIteratorRow(PixelIterator *,size_t *),
     52   **PixelGetNextIteratorRow(PixelIterator *,size_t *),
     53   **PixelGetPreviousIteratorRow(PixelIterator *,size_t *);
     54 
     55 extern WandExport ssize_t
     56   PixelGetIteratorRow(PixelIterator *);
     57 
     58 extern WandExport void
     59   ClearPixelIterator(PixelIterator *),
     60   PixelResetIterator(PixelIterator *),
     61   PixelSetFirstIteratorRow(PixelIterator *),
     62   PixelSetLastIteratorRow(PixelIterator *);
     63 
     64 #if defined(__cplusplus) || defined(c_plusplus)
     65 }
     66 #endif
     67 
     68 #endif
     69