void HTMLCanvasElement::paint(GraphicsContext* context, const IntRect& r) { // Clear the dirty rect m_dirtyRect = FloatRect(); if (context->paintingDisabled()) return; if (m_context) { if (!m_context->paintsIntoCanvasBuffer()) return; m_context->paintRenderingResultsToCanvas(); } if (hasCreatedImageBuffer()) { ImageBuffer* imageBuffer = buffer(); if (imageBuffer) { if (m_presentedImage) context->drawImage(m_presentedImage.get(), ColorSpaceDeviceRGB, r); else if (imageBuffer->drawsUsingCopy()) context->drawImage(copiedImage(), ColorSpaceDeviceRGB, r); else context->drawImageBuffer(imageBuffer, ColorSpaceDeviceRGB, r); } } #if ENABLE(WEBGL) if (is3D()) static_cast<WebGLRenderingContext*>(m_context.get())->markLayerComposited(); #endif }
void HTMLCanvasElement::paint(GraphicsContext* context, const IntRect& r) { // Clear the dirty rect m_dirtyRect = FloatRect(); if (context->paintingDisabled()) return; if (m_context) { if (!m_context->paintsIntoCanvasBuffer()) return; m_context->paintRenderingResultsToCanvas(); } if (hasCreatedImageBuffer()) { ImageBuffer* imageBuffer = buffer(); if (imageBuffer) { if(imageBuffer->drawsUsingRecording()) return; if (m_presentedImage) context->drawImage(m_presentedImage.get(), ColorSpaceDeviceRGB, r); else if (imageBuffer->drawsUsingCopy()) context->drawImage(copiedImage(), ColorSpaceDeviceRGB, r); else context->drawImageBuffer(imageBuffer, ColorSpaceDeviceRGB, r); } } #if ENABLE(WEBGL) if (is3D()) static_cast<WebGLRenderingContext*>(m_context.get())->markLayerComposited(); #endif #if ENABLE(DASHBOARD_SUPPORT) Settings* settings = document()->settings(); if (settings && settings->usesDashboardBackwardCompatibilityMode()) setIeForbidsInsertHTML(); #endif }
void HTMLCanvasElement::paint(GraphicsContext* context, const IntRect& r) { // Clear the dirty rect m_dirtyRect = FloatRect(); if (context->paintingDisabled()) return; if (m_context) { if (!m_context->paintsIntoCanvasBuffer()) return; m_context->paintRenderingResultsToCanvas(); } if (hasCreatedImageBuffer()) { ImageBuffer* imageBuffer = buffer(); if (imageBuffer) { if (imageBuffer->drawsUsingCopy()) context->drawImage(copiedImage(), ColorSpaceDeviceRGB, r); else context->drawImageBuffer(imageBuffer, ColorSpaceDeviceRGB, r); } } }