Lines Matching defs:iterator
19 % ImageMagick Image Pixel Iterator Methods %
53 #include "MagickWand/pixel-iterator.h"
116 % void ClearPixelIterator(PixelIterator *iterator)
120 % o iterator: the pixel iterator.
123 WandExport void ClearPixelIterator(PixelIterator *iterator)
125 assert(iterator != (const PixelIterator *) NULL);
126 assert(iterator->signature == MagickWandSignature);
127 if (iterator->debug != MagickFalse)
128 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
129 iterator->pixel_wands=DestroyPixelWands(iterator->pixel_wands,
130 iterator->region.width);
131 ClearMagickException(iterator->exception);
132 iterator->pixel_wands=NewPixelWands(iterator->region.width);
133 iterator->active=MagickFalse;
134 iterator->y=0;
135 iterator->debug=IsEventLogging();
150 % ClonePixelIterator() makes an exact copy of the specified iterator.
154 % PixelIterator *ClonePixelIterator(const PixelIterator *iterator)
158 % o iterator: the magick iterator.
161 WandExport PixelIterator *ClonePixelIterator(const PixelIterator *iterator)
166 assert(iterator != (PixelIterator *) NULL);
167 assert(iterator->signature == MagickWandSignature);
168 if (iterator->debug != MagickFalse)
169 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
173 iterator->name);
179 InheritException(clone_iterator->exception,iterator->exception);
180 clone_iterator->view=CloneCacheView(iterator->view);
181 clone_iterator->region=iterator->region;
182 clone_iterator->active=iterator->active;
183 clone_iterator->y=iterator->y;
185 iterator->pixel_wands,iterator->region.width);
186 clone_iterator->debug=iterator->debug;
210 % PixelIterator *DestroyPixelIterator(PixelIterator *iterator)
214 % o iterator: the pixel iterator.
217 WandExport PixelIterator *DestroyPixelIterator(PixelIterator *iterator)
219 assert(iterator != (const PixelIterator *) NULL);
220 assert(iterator->signature == MagickWandSignature);
221 if (iterator->debug != MagickFalse)
222 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
223 iterator->view=DestroyCacheView(iterator->view);
224 iterator->pixel_wands=DestroyPixelWands(iterator->pixel_wands,
225 iterator->region.width);
226 iterator->exception=DestroyExceptionInfo(iterator->exception);
227 iterator->signature=(~MagickWandSignature);
228 RelinquishWandId(iterator->id);
229 iterator=(PixelIterator *) RelinquishMagickMemory(iterator);
230 return(iterator);
245 % IsPixelIterator() returns MagickTrue if the iterator is verified as a pixel
246 % iterator.
250 % MagickBooleanType IsPixelIterator(const PixelIterator *iterator)
254 % o iterator: the magick iterator.
257 WandExport MagickBooleanType IsPixelIterator(const PixelIterator *iterator)
262 if (iterator == (const PixelIterator *) NULL)
264 if (iterator->signature != MagickWandSignature)
267 if (LocaleNCompare(iterator->name,PixelIteratorId,length) != 0)
284 % NewPixelIterator() returns a new pixel iterator.
307 *iterator;
327 iterator=(PixelIterator *) AcquireMagickMemory(sizeof(*iterator));
328 if (iterator == (PixelIterator *) NULL)
331 (void) ResetMagickMemory(iterator,0,sizeof(*iterator));
332 iterator->id=AcquireWandId();
333 (void) FormatLocaleString(iterator->name,MagickPathExtent,"%s-%.20g",
334 PixelIteratorId,(double) iterator->id);
335 iterator->exception=exception;
336 iterator->view=view;
337 SetGeometry(image,&iterator->region);
338 iterator->region.width=image->columns;
339 iterator->region.height=image->rows;
340 iterator->region.x=0;
341 iterator->region.y=0;
342 iterator->pixel_wands=NewPixelWands(iterator->region.width);
343 iterator->y=0;
344 iterator->debug=IsEventLogging();
345 if (iterator->debug != MagickFalse)
346 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
347 iterator->signature=MagickWandSignature;
348 return(iterator);
364 % iterator.
368 % MagickBooleanType PixelClearIteratorException(PixelIterator *iterator)
372 % o iterator: the pixel iterator.
376 PixelIterator *iterator)
378 assert(iterator != (PixelIterator *) NULL);
379 assert(iterator->signature == MagickWandSignature);
380 if (iterator->debug != MagickFalse)
381 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
382 ClearMagickException(iterator->exception);
398 % NewPixelRegionIterator() returns a new pixel iterator.
429 *iterator;
448 iterator=(PixelIterator *) AcquireMagickMemory(sizeof(*iterator));
449 if (iterator == (PixelIterator *) NULL)
452 (void) ResetMagickMemory(iterator,0,sizeof(*iterator));
453 iterator->id=AcquireWandId();
454 (void) FormatLocaleString(iterator->name,MagickPathExtent,"%s-%.20g",
455 PixelIteratorId,(double) iterator->id);
456 iterator->exception=exception;
457 iterator->view=view;
458 SetGeometry(image,&iterator->region);
459 iterator->region.width=width;
460 iterator->region.height=height;
461 iterator->region.x=x;
462 iterator->region.y=y;
463 iterator->pixel_wands=NewPixelWands(iterator->region.width);
464 iterator->y=0;
465 iterator->debug=IsEventLogging();
466 if (iterator->debug != MagickFalse)
467 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
468 iterator->signature=MagickWandSignature;
469 return(iterator);
485 % wands from the pixel iterator.
489 % PixelWand **PixelGetCurrentIteratorRow(PixelIterator *iterator,
494 % o iterator: the pixel iterator.
499 WandExport PixelWand **PixelGetCurrentIteratorRow(PixelIterator *iterator,
508 assert(iterator != (PixelIterator *) NULL);
509 assert(iterator->signature == MagickWandSignature);
510 if (iterator->debug != MagickFalse)
511 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
513 iterator->active=MagickTrue;
514 pixels=GetCacheViewVirtualPixels(iterator->view,iterator->region.x,
515 iterator->region.y+iterator->y,iterator->region.width,1,
516 iterator->exception);
519 for (x=0; x < (ssize_t) iterator->region.width; x++)
521 PixelSetQuantumPixel(GetCacheViewImage(iterator->view),pixels,
522 iterator->pixel_wands[x]);
523 pixels+=GetPixelChannels(GetCacheViewImage(iterator->view));
525 *number_wands=iterator->region.width;
526 return(iterator->pixel_wands);
546 % char *PixelGetIteratorException(const PixelIterator *iterator,
551 % o iterator: the pixel iterator.
556 WandExport char *PixelGetIteratorException(const PixelIterator *iterator,
562 assert(iterator != (const PixelIterator *) NULL);
563 assert(iterator->signature == MagickWandSignature);
564 if (iterator->debug != MagickFalse)
565 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
567 *severity=iterator->exception->severity;
572 iterator->name);
574 if (iterator->exception->reason != (char *) NULL)
576 iterator->exception->severity,iterator->exception->reason),MagickPathExtent);
577 if (iterator->exception->description != (char *) NULL)
581 iterator->exception->severity,iterator->exception->description),
601 % iterator. If no exception has occurred, UndefinedExceptionType is returned.
606 % const PixelIterator *iterator)
610 % o iterator: the pixel iterator.
614 const PixelIterator *iterator)
616 assert(iterator != (const PixelIterator *) NULL);
617 assert(iterator->signature == MagickWandSignature);
618 if (iterator->debug != MagickFalse)
619 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
620 return(iterator->exception->severity);
635 % PixelGetIteratorRow() returns the current pixel iterator row.
639 % MagickBooleanType PixelGetIteratorRow(PixelIterator *iterator)
643 % o iterator: the pixel iterator.
646 WandExport ssize_t PixelGetIteratorRow(PixelIterator *iterator)
648 assert(iterator != (const PixelIterator *) NULL);
649 assert(iterator->signature == MagickWandSignature);
650 if (iterator->debug != MagickFalse)
651 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
652 return(iterator->y);
668 % from the pixel iterator.
672 % PixelWand **PixelGetNextIteratorRow(PixelIterator *iterator,
677 % o iterator: the pixel iterator.
682 WandExport PixelWand **PixelGetNextIteratorRow(PixelIterator *iterator,
691 assert(iterator != (PixelIterator *) NULL);
692 assert(iterator->signature == MagickWandSignature);
693 if (iterator->debug != MagickFalse)
694 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
696 if (iterator->active != MagickFalse)
697 iterator->y++;
698 if (PixelSetIteratorRow(iterator,iterator->y) == MagickFalse)
700 pixels=GetCacheViewVirtualPixels(iterator->view,iterator->region.x,
701 iterator->region.y+iterator->y,iterator->region.width,1,
702 iterator->exception);
705 for (x=0; x < (ssize_t) iterator->region.width; x++)
707 PixelSetQuantumPixel(GetCacheViewImage(iterator->view),pixels,
708 iterator->pixel_wands[x]);
709 pixels+=GetPixelChannels(GetCacheViewImage(iterator->view));
711 *number_wands=iterator->region.width;
712 return(iterator->pixel_wands);
728 % wands from the pixel iterator.
732 % PixelWand **PixelGetPreviousIteratorRow(PixelIterator *iterator,
737 % o iterator: the pixel iterator.
742 WandExport PixelWand **PixelGetPreviousIteratorRow(PixelIterator *iterator,
751 assert(iterator != (PixelIterator *) NULL);
752 assert(iterator->signature == MagickWandSignature);
753 if (iterator->debug != MagickFalse)
754 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
756 if (iterator->active != MagickFalse)
757 iterator->y--;
758 if (PixelSetIteratorRow(iterator,iterator->y) == MagickFalse)
760 pixels=GetCacheViewVirtualPixels(iterator->view,iterator->region.x,
761 iterator->region.y+iterator->y,iterator->region.width,1,
762 iterator->exception);
765 for (x=0; x < (ssize_t) iterator->region.width; x++)
767 PixelSetQuantumPixel(GetCacheViewImage(iterator->view),pixels,
768 iterator->pixel_wands[x]);
769 pixels+=GetPixelChannels(GetCacheViewImage(iterator->view));
771 *number_wands=iterator->region.width;
772 return(iterator->pixel_wands);
787 % PixelResetIterator() resets the pixel iterator. Use it in conjunction
793 % void PixelResetIterator(PixelIterator *iterator)
797 % o iterator: the pixel iterator.
800 WandExport void PixelResetIterator(PixelIterator *iterator)
802 assert(iterator != (PixelIterator *) NULL);
803 assert(iterator->signature == MagickWandSignature);
804 if (iterator->debug != MagickFalse)
805 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
806 iterator->active=MagickFalse;
807 iterator->y=0;
822 % PixelSetFirstIteratorRow() sets the pixel iterator to the first pixel row.
826 % void PixelSetFirstIteratorRow(PixelIterator *iterator)
830 % o iterator: the magick iterator.
833 WandExport void PixelSetFirstIteratorRow(PixelIterator *iterator)
835 assert(iterator != (PixelIterator *) NULL);
836 assert(iterator->signature == MagickWandSignature);
837 if (iterator->debug != MagickFalse)
838 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
839 iterator->active=MagickFalse;
840 iterator->y=iterator->region.y;
855 % PixelSetIteratorRow() set the pixel iterator row.
859 % MagickBooleanType PixelSetIteratorRow(PixelIterator *iterator,
864 % o iterator: the pixel iterator.
867 WandExport MagickBooleanType PixelSetIteratorRow(PixelIterator *iterator,
870 assert(iterator != (const PixelIterator *) NULL);
871 assert(iterator->signature == MagickWandSignature);
872 if (iterator->debug != MagickFalse)
873 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
874 if ((row < 0) || (row >= (ssize_t) iterator->region.height))
876 iterator->active=MagickTrue;
877 iterator->y=row;
893 % PixelSetLastIteratorRow() sets the pixel iterator to the last pixel row.
897 % void PixelSetLastIteratorRow(PixelIterator *iterator)
901 % o iterator: the magick iterator.
904 WandExport void PixelSetLastIteratorRow(PixelIterator *iterator)
906 assert(iterator != (PixelIterator *) NULL);
907 assert(iterator->signature == MagickWandSignature);
908 if (iterator->debug != MagickFalse)
909 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
910 iterator->active=MagickFalse;
911 iterator->y=(ssize_t) iterator->region.height-1;
926 % PixelSyncIterator() syncs the pixel iterator.
930 % MagickBooleanType PixelSyncIterator(PixelIterator *iterator)
934 % o iterator: the pixel iterator.
937 WandExport MagickBooleanType PixelSyncIterator(PixelIterator *iterator)
948 assert(iterator != (const PixelIterator *) NULL);
949 assert(iterator->signature == MagickWandSignature);
950 if (iterator->debug != MagickFalse)
951 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",iterator->name);
952 status=SetCacheViewStorageClass(iterator->view,DirectClass,
953 iterator->exception);
956 pixels=GetCacheViewAuthenticPixels(iterator->view,iterator->region.x,
957 iterator->region.y+iterator->y,iterator->region.width,1,
958 iterator->exception);
961 for (x=0; x < (ssize_t) iterator->region.width; x++)
963 PixelGetQuantumPixel(GetCacheViewImage(iterator->view),
964 iterator->pixel_wands[x],pixels);
965 pixels+=GetPixelChannels(GetCacheViewImage(iterator->view));
967 if (SyncCacheViewAuthenticPixels(iterator->view,iterator->exception) == MagickFalse)