diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp index eb3d007fe..b1a034496 100644 --- a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp +++ b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp @@ -53,15 +53,22 @@ DrawingAreaProxy* EflViewportHandler::drawingArea() const return ewk_view_page_get(m_viewWidget)->drawingArea(); } -void EflViewportHandler::display(const IntRect& rect) +void EflViewportHandler::setRendererActive(bool active) +{ + drawingArea()->layerTreeCoordinatorProxy()->layerTreeRenderer()->setActive(active); +} + +void EflViewportHandler::display(const IntRect& rect, const IntPoint& viewPosition) { WebCore::TransformationMatrix matrix; - matrix.setMatrix(m_scaleFactor, 0, 0, m_scaleFactor, -m_visibleContentRect.x(), -m_visibleContentRect.y()); + matrix.setMatrix(m_scaleFactor, 0, 0, m_scaleFactor, -m_visibleContentRect.x() + viewPosition.x(), -m_visibleContentRect.y() + viewPosition.y()); LayerTreeRenderer* renderer = drawingArea()->layerTreeCoordinatorProxy()->layerTreeRenderer(); renderer->setActive(true); renderer->syncRemoteContent(); - renderer->paintToCurrentGLContext(matrix, 1, rect); + IntRect clipRect(rect); + clipRect.move(viewPosition.x(), viewPosition.y()); + renderer->paintToCurrentGLContext(matrix, 1, clipRect); } void EflViewportHandler::updateViewportSize(const IntSize& viewportSize) |