Lines Matching +full:- +full:- +full:no +full:- +full:transfer +full:- +full:progress
25 % Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization %
50 #include "MagickWand/magick-wand-private.h"
52 #include "MagickCore/monitor-private.h"
53 #include "MagickCore/thread-private.h"
127 assert(wand_view->signature == MagickWandSignature); in CloneWandView()
128 if (wand_view->debug != MagickFalse) in CloneWandView()
129 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand_view->name); in CloneWandView()
132 clone_view->id=AcquireWandId(); in CloneWandView()
133 (void) FormatLocaleString(clone_view->name,MagickPathExtent,"%s-%.20g", in CloneWandView()
134 WandViewId,(double) clone_view->id); in CloneWandView()
135 clone_view->description=ConstantString(wand_view->description); in CloneWandView()
136 clone_view->image=CloneImage(wand_view->image,0,0,MagickTrue, in CloneWandView()
137 wand_view->exception); in CloneWandView()
138 clone_view->view=CloneCacheView(wand_view->view); in CloneWandView()
139 clone_view->extent=wand_view->extent; in CloneWandView()
140 clone_view->exception=AcquireExceptionInfo(); in CloneWandView()
141 InheritException(clone_view->exception,wand_view->exception); in CloneWandView()
143 clone_view->pixel_wands[i]=ClonePixelWands((const PixelWand **) in CloneWandView()
144 wand_view->pixel_wands[i],wand_view->extent.width); in CloneWandView()
145 clone_view->debug=wand_view->debug; in CloneWandView()
146 if (clone_view->debug != MagickFalse) in CloneWandView()
147 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",clone_view->name); in CloneWandView()
148 clone_view->signature=MagickWandSignature; in CloneWandView()
192 assert(wand_view->signature == MagickWandSignature); in DestroyWandView()
193 wand_view->pixel_wands=DestroyPixelsThreadSet(wand_view->pixel_wands, in DestroyWandView()
194 wand_view->extent.width); in DestroyWandView()
195 wand_view->image=DestroyImage(wand_view->image); in DestroyWandView()
196 wand_view->view=DestroyCacheView(wand_view->view); in DestroyWandView()
197 wand_view->exception=DestroyExceptionInfo(wand_view->exception); in DestroyWandView()
198 wand_view->signature=(~MagickWandSignature); in DestroyWandView()
199 RelinquishWandId(wand_view->id); in DestroyWandView()
216 % parallel and calls your transfer method for each scanline of the view. The
217 % source and duplex pixel extent is not confined to the image canvas-- that is
220 % canvas-- that is no negative offsets or widths or heights that exceed the
233 % to define a section of code in your callback transfer method that must be
240 % DuplexTransferWandViewMethod transfer,void *context)
250 % o transfer: the transfer callback method.
256 WandView *duplex,WandView *destination,DuplexTransferWandViewMethod transfer, in DuplexTransferWandViewIterator() argument
267 progress; in DuplexTransferWandViewIterator() local
278 assert(source->signature == MagickWandSignature); in DuplexTransferWandViewIterator()
279 if (transfer == (DuplexTransferWandViewMethod) NULL) in DuplexTransferWandViewIterator()
281 source_image=source->wand->images; in DuplexTransferWandViewIterator()
282 destination_image=destination->wand->images; in DuplexTransferWandViewIterator()
284 destination->exception); in DuplexTransferWandViewIterator()
288 progress=0; in DuplexTransferWandViewIterator()
290 height=source->extent.height-source->extent.y; in DuplexTransferWandViewIterator()
291 #pragma omp parallel for schedule(static) shared(progress,status) \ in DuplexTransferWandViewIterator()
294 for (y=source->extent.y; y < (ssize_t) source->extent.height; y++) in DuplexTransferWandViewIterator()
314 pixels=GetCacheViewVirtualPixels(source->view,source->extent.x,y, in DuplexTransferWandViewIterator()
315 source->extent.width,1,source->exception); in DuplexTransferWandViewIterator()
321 for (x=0; x < (ssize_t) source->extent.width; x++) in DuplexTransferWandViewIterator()
323 PixelSetQuantumPixel(source->image,pixels,source->pixel_wands[id][x]); in DuplexTransferWandViewIterator()
324 pixels+=GetPixelChannels(source->image); in DuplexTransferWandViewIterator()
326 duplex_pixels=GetCacheViewVirtualPixels(duplex->view,duplex->extent.x,y, in DuplexTransferWandViewIterator()
327 duplex->extent.width,1,duplex->exception); in DuplexTransferWandViewIterator()
333 for (x=0; x < (ssize_t) duplex->extent.width; x++) in DuplexTransferWandViewIterator()
335 PixelSetQuantumPixel(duplex->image,duplex_pixels, in DuplexTransferWandViewIterator()
336 duplex->pixel_wands[id][x]); in DuplexTransferWandViewIterator()
337 duplex_pixels+=GetPixelChannels(duplex->image); in DuplexTransferWandViewIterator()
339 destination_pixels=GetCacheViewAuthenticPixels(destination->view, in DuplexTransferWandViewIterator()
340 destination->extent.x,y,destination->extent.width,1, in DuplexTransferWandViewIterator()
341 destination->exception); in DuplexTransferWandViewIterator()
347 for (x=0; x < (ssize_t) destination->extent.width; x++) in DuplexTransferWandViewIterator()
349 PixelSetQuantumPixel(destination->image,destination_pixels, in DuplexTransferWandViewIterator()
350 destination->pixel_wands[id][x]); in DuplexTransferWandViewIterator()
351 destination_pixels+=GetPixelChannels(destination->image); in DuplexTransferWandViewIterator()
353 if (transfer(source,duplex,destination,y,id,context) == MagickFalse) in DuplexTransferWandViewIterator()
355 destination_pixels=GetCacheViewAuthenticPixels(destination->view, in DuplexTransferWandViewIterator()
356 destination->extent.x,y,destination->extent.width,1, in DuplexTransferWandViewIterator()
357 destination->exception); in DuplexTransferWandViewIterator()
358 for (x=0; x < (ssize_t) destination->extent.width; x++) in DuplexTransferWandViewIterator()
360 PixelGetQuantumPixel(destination->image,destination->pixel_wands[id][x], in DuplexTransferWandViewIterator()
362 destination_pixels+=GetPixelChannels(destination->image); in DuplexTransferWandViewIterator()
364 sync=SyncCacheViewAuthenticPixels(destination->view,destination->exception); in DuplexTransferWandViewIterator()
367 if (source_image->progress_monitor != (MagickProgressMonitor) NULL) in DuplexTransferWandViewIterator()
375 progress++; in DuplexTransferWandViewIterator()
376 proceed=SetImageProgress(source_image,source->description,progress, in DuplexTransferWandViewIterator()
377 source->extent.height); in DuplexTransferWandViewIterator()
418 assert(wand_view->signature == MagickWandSignature); in GetWandViewException()
419 if (wand_view->debug != MagickFalse) in GetWandViewException()
420 (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand_view->name); in GetWandViewException()
422 *severity=wand_view->exception->severity; in GetWandViewException()
427 wand_view->name); in GetWandViewException()
429 if (wand_view->exception->reason != (char *) NULL) in GetWandViewException()
431 wand_view->exception->severity,wand_view->exception->reason), in GetWandViewException()
433 if (wand_view->exception->description != (char *) NULL) in GetWandViewException()
437 wand_view->exception->severity,wand_view->exception->description), in GetWandViewException()
469 assert(wand_view->signature == MagickWandSignature); in GetWandViewExtent()
470 return(wand_view->extent); in GetWandViewExtent()
486 % not confined to the image canvas-- that is you can include negative offsets
526 progress; in GetWandViewIterator() local
537 assert(source->signature == MagickWandSignature); in GetWandViewIterator()
540 source_image=source->wand->images; in GetWandViewIterator()
542 progress=0; in GetWandViewIterator()
544 height=source->extent.height-source->extent.y; in GetWandViewIterator()
545 #pragma omp parallel for schedule(static) shared(progress,status) \ in GetWandViewIterator()
548 for (y=source->extent.y; y < (ssize_t) source->extent.height; y++) in GetWandViewIterator()
561 pixels=GetCacheViewVirtualPixels(source->view,source->extent.x,y, in GetWandViewIterator()
562 source->extent.width,1,source->exception); in GetWandViewIterator()
568 for (x=0; x < (ssize_t) source->extent.width; x++) in GetWandViewIterator()
570 PixelSetQuantumPixel(source->image,pixels,source->pixel_wands[id][x]); in GetWandViewIterator()
571 pixels+=GetPixelChannels(source->image); in GetWandViewIterator()
575 if (source_image->progress_monitor != (MagickProgressMonitor) NULL) in GetWandViewIterator()
583 progress++; in GetWandViewIterator()
584 proceed=SetImageProgress(source_image,source->description,progress, in GetWandViewIterator()
585 source->extent.height); in GetWandViewIterator()
621 assert(wand_view->signature == MagickWandSignature); in GetWandViewPixels()
622 return(wand_view->pixel_wands[id]); in GetWandViewPixels()
650 assert(wand_view->signature == MagickWandSignature); in GetWandViewWand()
651 return(wand_view->wand); in GetWandViewWand()
684 if (wand_view->signature != MagickWandSignature) in IsWandView()
687 if (LocaleNCompare(wand_view->name,WandViewId,length) != 0) in IsWandView()
751 assert(wand->signature == MagickWandSignature); in NewWandView()
754 wand_view->id=AcquireWandId(); in NewWandView()
755 (void) FormatLocaleString(wand_view->name,MagickPathExtent,"%s-%.20g", in NewWandView()
756 WandViewId,(double) wand_view->id); in NewWandView()
757 wand_view->description=ConstantString("WandView"); in NewWandView()
758 wand_view->wand=wand; in NewWandView()
760 wand_view->view=AcquireVirtualCacheView(wand_view->wand->images,exception); in NewWandView()
761 wand_view->extent.width=wand->images->columns; in NewWandView()
762 wand_view->extent.height=wand->images->rows; in NewWandView()
763 wand_view->pixel_wands=AcquirePixelsThreadSet(wand_view->extent.width); in NewWandView()
764 wand_view->exception=exception; in NewWandView()
765 if (wand_view->pixel_wands == (PixelWand ***) NULL) in NewWandView()
768 wand_view->debug=IsEventLogging(); in NewWandView()
769 wand_view->signature=MagickWandSignature; in NewWandView()
810 assert(wand->signature == MagickWandSignature); in NewWandViewExtent()
813 wand_view->id=AcquireWandId(); in NewWandViewExtent()
814 (void) FormatLocaleString(wand_view->name,MagickPathExtent,"%s-%.20g", in NewWandViewExtent()
815 WandViewId,(double) wand_view->id); in NewWandViewExtent()
816 wand_view->description=ConstantString("WandView"); in NewWandViewExtent()
818 wand_view->view=AcquireVirtualCacheView(wand_view->wand->images,exception); in NewWandViewExtent()
819 wand_view->wand=wand; in NewWandViewExtent()
820 wand_view->extent.width=width; in NewWandViewExtent()
821 wand_view->extent.height=height; in NewWandViewExtent()
822 wand_view->extent.x=x; in NewWandViewExtent()
823 wand_view->extent.y=y; in NewWandViewExtent()
824 wand_view->exception=exception; in NewWandViewExtent()
825 wand_view->pixel_wands=AcquirePixelsThreadSet(wand_view->extent.width); in NewWandViewExtent()
826 if (wand_view->pixel_wands == (PixelWand ***) NULL) in NewWandViewExtent()
829 wand_view->debug=IsEventLogging(); in NewWandViewExtent()
830 wand_view->signature=MagickWandSignature; in NewWandViewExtent()
862 assert(wand_view->signature == MagickWandSignature); in SetWandViewDescription()
863 wand_view->description=ConstantString(description); in SetWandViewDescription()
879 % confined to the image canvas-- that is no negative offsets or widths or
920 progress; in SetWandViewIterator() local
931 assert(destination->signature == MagickWandSignature); in SetWandViewIterator()
934 destination_image=destination->wand->images; in SetWandViewIterator()
936 destination->exception); in SetWandViewIterator()
940 progress=0; in SetWandViewIterator()
942 height=destination->extent.height-destination->extent.y; in SetWandViewIterator()
943 #pragma omp parallel for schedule(static) shared(progress,status) \ in SetWandViewIterator()
946 for (y=destination->extent.y; y < (ssize_t) destination->extent.height; y++) in SetWandViewIterator()
962 pixels=GetCacheViewAuthenticPixels(destination->view,destination->extent.x, in SetWandViewIterator()
963 y,destination->extent.width,1,destination->exception); in SetWandViewIterator()
971 for (x=0; x < (ssize_t) destination->extent.width; x++) in SetWandViewIterator()
973 PixelGetQuantumPixel(destination->image,destination->pixel_wands[id][x], in SetWandViewIterator()
975 pixels+=GetPixelChannels(destination->image); in SetWandViewIterator()
977 sync=SyncCacheViewAuthenticPixels(destination->view,destination->exception); in SetWandViewIterator()
980 if (destination_image->progress_monitor != (MagickProgressMonitor) NULL) in SetWandViewIterator()
988 progress++; in SetWandViewIterator()
989 proceed=SetImageProgress(destination_image,destination->description, in SetWandViewIterator()
990 progress,destination->extent.height); in SetWandViewIterator()
1010 % calls your transfer method for each scanline of the view. The source pixel
1011 % extent is not confined to the image canvas-- that is you can include
1013 % However, the destination wand view is confined to the image canvas-- that
1014 % is no negative offsets or widths or heights that exceed the image dimension
1027 % to define a section of code in your callback transfer method that must be
1033 % WandView *destination,TransferWandViewMethod transfer,void *context)
1041 % o transfer: the transfer callback method.
1047 WandView *destination,TransferWandViewMethod transfer,void *context) in TransferWandViewIterator() argument
1057 progress; in TransferWandViewIterator() local
1068 assert(source->signature == MagickWandSignature); in TransferWandViewIterator()
1069 if (transfer == (TransferWandViewMethod) NULL) in TransferWandViewIterator()
1071 source_image=source->wand->images; in TransferWandViewIterator()
1072 destination_image=destination->wand->images; in TransferWandViewIterator()
1074 destination->exception); in TransferWandViewIterator()
1078 progress=0; in TransferWandViewIterator()
1080 height=source->extent.height-source->extent.y; in TransferWandViewIterator()
1081 #pragma omp parallel for schedule(static) shared(progress,status) \ in TransferWandViewIterator()
1084 for (y=source->extent.y; y < (ssize_t) source->extent.height; y++) in TransferWandViewIterator()
1103 pixels=GetCacheViewVirtualPixels(source->view,source->extent.x,y, in TransferWandViewIterator()
1104 source->extent.width,1,source->exception); in TransferWandViewIterator()
1110 for (x=0; x < (ssize_t) source->extent.width; x++) in TransferWandViewIterator()
1112 PixelSetQuantumPixel(source->image,pixels,source->pixel_wands[id][x]); in TransferWandViewIterator()
1113 pixels+=GetPixelChannels(source->image); in TransferWandViewIterator()
1115 destination_pixels=GetCacheViewAuthenticPixels(destination->view, in TransferWandViewIterator()
1116 destination->extent.x,y,destination->extent.width,1, in TransferWandViewIterator()
1117 destination->exception); in TransferWandViewIterator()
1123 for (x=0; x < (ssize_t) destination->extent.width; x++) in TransferWandViewIterator()
1125 PixelSetQuantumPixel(destination->image,destination_pixels, in TransferWandViewIterator()
1126 destination->pixel_wands[id][x]); in TransferWandViewIterator()
1127 destination_pixels+=GetPixelChannels(destination->image); in TransferWandViewIterator()
1129 if (transfer(source,destination,y,id,context) == MagickFalse) in TransferWandViewIterator()
1131 destination_pixels=GetCacheViewAuthenticPixels(destination->view, in TransferWandViewIterator()
1132 destination->extent.x,y,destination->extent.width,1, in TransferWandViewIterator()
1133 destination->exception); in TransferWandViewIterator()
1134 for (x=0; x < (ssize_t) destination->extent.width; x++) in TransferWandViewIterator()
1136 PixelGetQuantumPixel(destination->image,destination->pixel_wands[id][x], in TransferWandViewIterator()
1138 destination_pixels+=GetPixelChannels(destination->image); in TransferWandViewIterator()
1140 sync=SyncCacheViewAuthenticPixels(destination->view,destination->exception); in TransferWandViewIterator()
1143 if (source_image->progress_monitor != (MagickProgressMonitor) NULL) in TransferWandViewIterator()
1151 progress++; in TransferWandViewIterator()
1152 proceed=SetImageProgress(source_image,source->description,progress, in TransferWandViewIterator()
1153 source->extent.height); in TransferWandViewIterator()
1174 % confined to the image canvas-- that is no negative offsets or widths or
1214 progress; in UpdateWandViewIterator() local
1225 assert(source->signature == MagickWandSignature); in UpdateWandViewIterator()
1228 source_image=source->wand->images; in UpdateWandViewIterator()
1229 status=SetImageStorageClass(source_image,DirectClass,source->exception); in UpdateWandViewIterator()
1233 progress=0; in UpdateWandViewIterator()
1235 height=source->extent.height-source->extent.y; in UpdateWandViewIterator()
1236 #pragma omp parallel for schedule(static) shared(progress,status) \ in UpdateWandViewIterator()
1239 for (y=source->extent.y; y < (ssize_t) source->extent.height; y++) in UpdateWandViewIterator()
1255 pixels=GetCacheViewAuthenticPixels(source->view,source->extent.x,y, in UpdateWandViewIterator()
1256 source->extent.width,1,source->exception); in UpdateWandViewIterator()
1262 for (x=0; x < (ssize_t) source->extent.width; x++) in UpdateWandViewIterator()
1264 PixelSetQuantumPixel(source->image,pixels,source->pixel_wands[id][x]); in UpdateWandViewIterator()
1265 pixels+=GetPixelChannels(source->image); in UpdateWandViewIterator()
1269 for (x=0; x < (ssize_t) source->extent.width; x++) in UpdateWandViewIterator()
1271 PixelGetQuantumPixel(source->image,source->pixel_wands[id][x],pixels); in UpdateWandViewIterator()
1272 pixels+=GetPixelChannels(source->image); in UpdateWandViewIterator()
1274 sync=SyncCacheViewAuthenticPixels(source->view,source->exception); in UpdateWandViewIterator()
1277 if (source_image->progress_monitor != (MagickProgressMonitor) NULL) in UpdateWandViewIterator()
1285 progress++; in UpdateWandViewIterator()
1286 proceed=SetImageProgress(source_image,source->description,progress, in UpdateWandViewIterator()
1287 source->extent.height); in UpdateWandViewIterator()