summaryrefslogtreecommitdiffstats
path: root/cc/layer_tree_host_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cc/layer_tree_host_impl.h')
-rw-r--r--cc/layer_tree_host_impl.h62
1 files changed, 2 insertions, 60 deletions
diff --git a/cc/layer_tree_host_impl.h b/cc/layer_tree_host_impl.h
index d6ba579..d1019c1 100644
--- a/cc/layer_tree_host_impl.h
+++ b/cc/layer_tree_host_impl.h
@@ -13,6 +13,7 @@
#include "cc/cc_export.h"
#include "cc/input_handler.h"
#include "cc/output_surface_client.h"
+#include "cc/pinch_zoom_viewport.h"
#include "cc/render_pass.h"
#include "cc/render_pass_sink.h"
#include "cc/renderer.h"
@@ -54,65 +55,6 @@ public:
virtual void sendManagedMemoryStats() = 0;
};
-// PinchZoomViewport models the bounds and offset of the viewport that is used during a pinch-zoom operation.
-// It tracks the layout-space dimensions of the viewport before any applied scale, and then tracks the layout-space
-// coordinates of the viewport respecting the pinch settings.
-class CC_EXPORT PinchZoomViewport {
-public:
- PinchZoomViewport();
-
- float totalPageScaleFactor() const;
-
- void setPageScaleFactor(float factor) { m_pageScaleFactor = factor; }
- float pageScaleFactor() const { return m_pageScaleFactor; }
-
- void setPageScaleDelta(float delta);
- float pageScaleDelta() const { return m_pageScaleDelta; }
-
- float minPageScaleFactor() const { return m_minPageScaleFactor; }
- float maxPageScaleFactor() const { return m_maxPageScaleFactor; }
-
- void setSentPageScaleDelta(float delta) { m_sentPageScaleDelta = delta; }
- float sentPageScaleDelta() const { return m_sentPageScaleDelta; }
-
- void setDeviceScaleFactor(float factor) { m_deviceScaleFactor = factor; }
- float deviceScaleFactor() const { return m_deviceScaleFactor; }
-
- // Returns true if the passed parameters were different from those previously
- // cached.
- bool setPageScaleFactorAndLimits(float pageScaleFactor,
- float minPageScaleFactor,
- float maxPageScaleFactor);
-
- // Returns the bounds and offset of the scaled and translated viewport to use for pinch-zoom.
- gfx::RectF bounds() const;
- const gfx::Vector2dF& zoomedViewportOffset() const { return m_zoomedViewportOffset; }
-
- void setLayoutViewportSize(const gfx::SizeF& size) { m_layoutViewportSize = size; }
-
- // Apply the scroll offset in layout space to the offset of the pinch-zoom viewport. The viewport cannot be
- // scrolled outside of the layout viewport bounds. Returns the component of the scroll that is un-applied due to
- // this constraint.
- gfx::Vector2dF applyScroll(const gfx::Vector2dF&);
-
- // The implTransform goes from the origin of the unzoomedDeviceViewport to the
- // origin of the zoomedDeviceViewport.
- //
- // implTransform = S[pageScale] * Tr[-zoomedDeviceViewportOffset]
- gfx::Transform implTransform(bool pageScalePinchZoomEnabled) const;
-
-private:
- float m_pageScaleFactor;
- float m_pageScaleDelta;
- float m_sentPageScaleDelta;
- float m_maxPageScaleFactor;
- float m_minPageScaleFactor;
- float m_deviceScaleFactor;
-
- gfx::Vector2dF m_zoomedViewportOffset;
- gfx::SizeF m_layoutViewportSize;
-};
-
// LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering state
class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient,
public RendererClient,
@@ -298,7 +240,7 @@ public:
template<typename RenderPassCuller>
static void removeRenderPasses(RenderPassCuller, FrameData&);
- float totalPageScaleFactorForTesting() const { return m_pinchZoomViewport.totalPageScaleFactor(); }
+ float totalPageScaleFactorForTesting() const { return m_pinchZoomViewport.total_page_scale_factor(); }
const PinchZoomViewport& pinchZoomViewport() const { return m_pinchZoomViewport; }