WebKit::LayerTreeRenderer* QRawWebView::layerTreeRenderer() const { WebKit::DrawingAreaProxy* drawingArea = d->m_webPageProxy->drawingArea(); if (!drawingArea) return 0; WebKit::LayerTreeCoordinatorProxy* layerTreeCoordinatorProxy = drawingArea->layerTreeCoordinatorProxy(); if (!layerTreeCoordinatorProxy) return 0; return layerTreeCoordinatorProxy->layerTreeRenderer(); }
void QRawWebView::setSize(const QSize& size) { WebKit::DrawingAreaProxy* drawingArea = d->m_webPageProxy->drawingArea(); if (!drawingArea) return; if (d->m_webPageProxy->useFixedLayout()) d->m_webPageProxy->setViewportSize(size); else { WebKit::LayerTreeCoordinatorProxy* coordinator = drawingArea->layerTreeCoordinatorProxy(); if (!coordinator) return; coordinator->setContentsSize(WebCore::FloatSize(size.width(), size.height())); } d->m_size = size; drawingArea->setSize(d->m_size, WebCore::IntSize()); drawingArea->setVisibleContentsRect(WebCore::IntRect(WebCore::IntPoint(), d->m_size), 1 /*scale*/, WebCore::FloatPoint()); }
void QRawWebView::paint(const QMatrix4x4& transform, float opacity, unsigned paintFlags) { WebKit::DrawingAreaProxy* drawingArea = d->m_webPageProxy->drawingArea(); if (!drawingArea) return; WebKit::LayerTreeCoordinatorProxy* coordinatorProxy = drawingArea->layerTreeCoordinatorProxy(); if (!coordinatorProxy) return; WebKit::LayerTreeRenderer* renderer = coordinatorProxy->layerTreeRenderer(); if (!renderer) return; renderer->setActive(true); renderer->syncRemoteContent(); WebCore::FloatRect rect(0, 0, d->m_size.width(), d->m_size.height()); renderer->paintToCurrentGLContext(transform, opacity, transform.mapRect(rect), paintFlags); }