void ImageContainer::SetCurrentImage(Image *aImage) { if (!aImage) { ClearAllImages(); return; } ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (IsAsync()) { ImageBridgeChild::DispatchImageClientUpdate(mImageClient, this); } SetCurrentImageInternal(aImage); }
void ImageContainer::SetCurrentImage(Image *aImage) { if (IsAsync() && !aImage) { // Let ImageClient to release all TextureClients. ImageBridgeChild::FlushImage(mImageClient, this); return; } ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (IsAsync()) { ImageBridgeChild::DispatchImageClientUpdate(mImageClient, this); } SetCurrentImageInternal(aImage); }
void ImageContainer::SetCurrentImage(Image *aImage) { ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (mImageContainerChild) { if (aImage) { mImageContainerChild->SendImageAsync(this, aImage); } else { mImageContainerChild->DispatchSetIdle(); } } SetCurrentImageInternal(aImage); }
void ImageContainer::ClearCurrentImage() { ReentrantMonitorAutoEnter mon(mReentrantMonitor); SetCurrentImageInternal(nullptr); }