summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/win/WKCACFLayerRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/win/WKCACFLayerRenderer.h')
-rw-r--r--WebCore/platform/graphics/win/WKCACFLayerRenderer.h23
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