void AcceleratedCompositingContext::paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext& context, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& rectToPaint) { context.save(); context.clip(rectToPaint); core(m_webView)->mainFrame()->view()->paint(&context, rectToPaint); context.restore(); }
void NonCompositedContentHost::paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext& context, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& clipRect) { // On non-android platforms, we want to render text with subpixel antialiasing on the root layer // so long as the root is opaque. On android all text is grayscale. #if !OS(ANDROID) if (m_opaque) context.platformContext()->setDrawingToImageBuffer(false); #endif context.translate(-m_layerAdjust); WebCore::IntRect adjustedClipRect = clipRect; adjustedClipRect.move(m_layerAdjust); m_webView->paintRootLayer(context, adjustedClipRect); }
void NonCompositedContentHost::paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext& context, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& clipRect) { context.translate(-m_layerAdjust); WebCore::IntRect adjustedClipRect = clipRect; adjustedClipRect.move(m_layerAdjust); m_webView->paintRootLayer(context, adjustedClipRect); }
void PageOverlayController::paintContents(const WebCore::GraphicsLayer* graphicsLayer, WebCore::GraphicsContext& graphicsContext, WebCore::GraphicsLayerPaintingPhase, const WebCore::FloatRect& clipRect) { for (auto& overlayAndGraphicsLayer : m_overlayGraphicsLayers) { if (overlayAndGraphicsLayer.value.get() != graphicsLayer) continue; GraphicsContextStateSaver stateSaver(graphicsContext); graphicsContext.clip(clipRect); overlayAndGraphicsLayer.key->drawRect(graphicsContext, enclosingIntRect(clipRect)); return; } }
void LayerTreeCoordinator::paintContents(const WebCore::GraphicsLayer* graphicsLayer, WebCore::GraphicsContext& graphicsContext, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& clipRect) { if (graphicsLayer == m_nonCompositedContentLayer) { m_webPage->drawRect(graphicsContext, clipRect); return; } if (graphicsLayer == m_pageOverlayLayer) { // Overlays contain transparent contents and won't clear the context as part of their rendering, so we do it here. graphicsContext.clearRect(clipRect); m_webPage->drawPageOverlay(graphicsContext, clipRect); return; } }
void ShareableBitmap::paint(WebCore::GraphicsContext& context, float scaleFactor, const IntPoint& destination, const IntRect& source) { paintImage(context.platformContext(), makeCGImageCopy().get(), scaleFactor, destination, source); }