void GraphicsLayer::setContentsToNinePatch(Image* image, const IntRect& aperture) { if (m_ninePatchLayer) { unregisterContentsLayer(m_ninePatchLayer->layer()); m_ninePatchLayer.clear(); } RefPtr<NativeImageSkia> nativeImage = image ? image->nativeImageForCurrentFrame() : nullptr; if (nativeImage) { m_ninePatchLayer = adoptPtr(Platform::current()->compositorSupport()->createNinePatchLayer()); m_ninePatchLayer->setBitmap(nativeImage->bitmap(), aperture); m_ninePatchLayer->layer()->setOpaque(image->currentFrameKnownToBeOpaque()); registerContentsLayer(m_ninePatchLayer->layer()); } setContentsTo(m_ninePatchLayer ? m_ninePatchLayer->layer() : 0); }
void GraphicsLayer::setContentsToImage(Image* image) { RefPtr<NativeImageSkia> nativeImage = image ? image->nativeImageForCurrentFrame() : nullptr; if (nativeImage) { if (!m_imageLayer) { m_imageLayer = adoptPtr(Platform::current()->compositorSupport()->createImageLayer()); registerContentsLayer(m_imageLayer->layer()); } m_imageLayer->setImageBitmap(nativeImage->bitmap()); m_imageLayer->layer()->setOpaque(image->currentFrameKnownToBeOpaque()); updateContentsRect(); } else { if (m_imageLayer) { unregisterContentsLayer(m_imageLayer->layer()); m_imageLayer.clear(); } } setContentsTo(m_imageLayer ? m_imageLayer->layer() : 0); }
void GraphicsLayer::setContentsToNinePatch(Image* image, const IntRect& aperture) { if (m_ninePatchLayer) { unregisterContentsLayer(m_ninePatchLayer->layer()); m_ninePatchLayer.clear(); } RefPtr<NativeImageSkia> nativeImage = image ? image->nativeImageForCurrentFrame() : nullptr; if (nativeImage) { m_ninePatchLayer = adoptPtr(Platform::current()->compositorSupport()->createNinePatchLayer()); const SkBitmap& bitmap = nativeImage->bitmap(); int borderWidth = bitmap.width() - aperture.width(); int borderHeight = bitmap.height() - aperture.height(); WebRect border(aperture.x(), aperture.y(), borderWidth, borderHeight); m_ninePatchLayer->setBitmap(bitmap); m_ninePatchLayer->setAperture(aperture); m_ninePatchLayer->setBorder(border); m_ninePatchLayer->layer()->setOpaque(image->currentFrameKnownToBeOpaque()); registerContentsLayer(m_ninePatchLayer->layer()); } setContentsTo(m_ninePatchLayer ? m_ninePatchLayer->layer() : 0); }
void GraphicsLayerChromium::setContentsToMedia(PlatformLayer* layer) { setContentsTo(ContentsLayerForVideo, layer); }
void GraphicsLayerChromium::setContentsToCanvas(PlatformLayer* layer) { setContentsTo(ContentsLayerForCanvas, layer); }