diff options
Diffstat (limited to 'WebCore/platform/graphics/win/WKCACFLayerRenderer.h')
-rw-r--r-- | WebCore/platform/graphics/win/WKCACFLayerRenderer.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/WebCore/platform/graphics/win/WKCACFLayerRenderer.h b/WebCore/platform/graphics/win/WKCACFLayerRenderer.h index 4e76f55..ea710b6 100644 --- a/WebCore/platform/graphics/win/WKCACFLayerRenderer.h +++ b/WebCore/platform/graphics/win/WKCACFLayerRenderer.h @@ -47,6 +47,8 @@ typedef struct _CARenderOGLContext CARenderOGLContext; namespace WebCore { +class WKCACFRootLayer; + // FIXME: Currently there is a WKCACFLayerRenderer for each WebView and each // has its own CARenderOGLContext and Direct3DDevice9, which is inefficient. // (https://bugs.webkit.org/show_bug.cgi?id=31855) @@ -58,19 +60,20 @@ public: static bool acceleratedCompositingAvailable(); static void didFlushContext(CACFContextRef); - void setScrollFrame(const IntRect&); + void setScrollFrame(const IntPoint&, const IntSize&); void setRootContents(CGImageRef); - void setRootChildLayer(WebCore::PlatformLayer* layer); + void setRootChildLayer(WKCACFLayer* layer); void setNeedsDisplay(); - void setHostWindow(HWND window) { m_hostWindow = window; createRenderer(); } - - void createRenderer(); + void setHostWindow(HWND window) { m_hostWindow = window; } + void setBackingStoreDirty(bool dirty) { m_backingStoreDirty = dirty; } + bool createRenderer(); void destroyRenderer(); void resize(); void renderSoon(); + void updateScrollFrame(); protected: - WKCACFLayer* rootLayer() const { return m_rootLayer.get(); } + WKCACFLayer* rootLayer() const; private: WKCACFLayerRenderer(); @@ -87,17 +90,19 @@ private: bool m_triedToCreateD3DRenderer; COMPtr<IDirect3DDevice9> m_d3dDevice; - RefPtr<WKCACFLayer> m_rootLayer; + RefPtr<WKCACFRootLayer> m_rootLayer; RefPtr<WKCACFLayer> m_viewLayer; RefPtr<WKCACFLayer> m_scrollLayer; RefPtr<WKCACFLayer> m_rootChildLayer; + RefPtr<WKCACFLayer> m_clipLayer; RetainPtr<CACFContextRef> m_context; CARenderContext* m_renderContext; CARenderOGLContext* m_renderer; HWND m_hostWindow; Timer<WKCACFLayerRenderer> m_renderTimer; - IntRect m_scrollFrame; - + IntPoint m_scrollPosition; + IntSize m_scrollSize; + bool m_backingStoreDirty; #ifndef NDEBUG bool m_printTree; #endif |