1/*
2 * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
3 */
4
5#ifndef BackingStoreVisualizationViewportAccessor_h
6#define BackingStoreVisualizationViewportAccessor_h
7
8#include <BlackBerryPlatformViewportAccessor.h>
9
10namespace BlackBerry {
11
12namespace Platform {
13class IntPoint;
14class IntSize;
15}
16
17namespace WebKit {
18
19class BackingStorePrivate;
20class BackingStoreGeometry;
21
22class BackingStoreVisualizationViewportAccessor : public Platform::ViewportAccessor {
23public:
24    BackingStoreVisualizationViewportAccessor(ViewportAccessor* originalAccessor, BackingStorePrivate*);
25    virtual ~BackingStoreVisualizationViewportAccessor() { }
26
27    virtual BlackBerry::Platform::IntSize documentContentsSize() const;
28    virtual BlackBerry::Platform::IntSize pixelContentsSize() const;
29
30    virtual BlackBerry::Platform::IntPoint documentScrollPosition() const;
31    virtual BlackBerry::Platform::IntPoint pixelScrollPosition() const;
32
33    virtual BlackBerry::Platform::IntSize documentViewportSize() const;
34    virtual BlackBerry::Platform::IntSize pixelViewportSize() const;
35
36    virtual BlackBerry::Platform::IntPoint destinationSurfaceOffset() const;
37
38    virtual double scale() const;
39
40private:
41    BackingStoreGeometry* state() const;
42
43    Platform::ViewportAccessor* m_originalAccessor;
44    BackingStorePrivate* m_backingStorePrivate;
45};
46
47} // namespace WebKit
48} // namespace BlackBerry
49
50#endif
51