MagickOffsetType
offset;
+ if (cache_info->type == PingCache)
+ return(MagickTrue);
offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+
nexus_info->region.x;
if (nexus_info->pixels != (cache_info->pixels+offset))
cache_info->columns=image->columns;
cache_info->active_index_channel=((image->storage_class == PseudoClass) ||
(image->colorspace == CMYKColorspace)) ? MagickTrue : MagickFalse;
+ if (image->ping != MagickFalse)
+ {
+ cache_info->storage_class=image->storage_class;
+ cache_info->colorspace=image->colorspace;
+ cache_info->type=PingCache;
+ cache_info->pixels=(PixelPacket *) NULL;
+ cache_info->indexes=(IndexPacket *) NULL;
+ cache_info->length=0;
+ return(MagickTrue);
+ }
number_pixels=(MagickSizeType) cache_info->columns*cache_info->rows;
packet_size=sizeof(PixelPacket);
if (cache_info->active_index_channel != MagickFalse)
if (cache_info->type == UndefinedCache)
return((PixelPacket *) NULL);
nexus_info->region=(*region);
- if ((cache_info->type != DiskCache) && (image->clip_mask == (Image *) NULL) &&
- (image->mask == (Image *) NULL))
+ if ((cache_info->type != DiskCache) && (cache_info->type != PingCache) &&
+ (image->clip_mask == (Image *) NULL) && (image->mask == (Image *) NULL))
{
long
x,
image->y_resolution=DefaultResolution;
image->units=PixelsPerInchResolution;
GetTimerInfo(&image->timer);
+ image->ping=MagickFalse;
image->cache=AcquirePixelCache(0);
image->blob=CloneBlobInfo((BlobInfo *) NULL);
image->debug=IsEventLogging();
image->border_color=image_info->border_color;
image->matte_color=image_info->matte_color;
image->transparent_color=image_info->transparent_color;
+ image->ping=image_info->ping;
image->progress_monitor=image_info->progress_monitor;
image->client_data=image_info->client_data;
if (image_info->cache != (void *) NULL)
image->colormap[i].blue=(Quantum) pixel;
image->colormap[i].opacity=OpaqueOpacity;
}
- image->storage_class=PseudoClass;
- return(MagickTrue);
+ return(SetImageStorageClass(image,PseudoClass));
}
\f
/*
clone_image->blob=ReferenceBlob(image->blob);
else
clone_image->blob=CloneBlobInfo((BlobInfo *) NULL);
+ clone_image->ping=image->ping;
clone_image->debug=IsEventLogging();
clone_image->semaphore=AllocateSemaphoreInfo();
if ((columns == 0) && (rows == 0))