diff options
Diffstat (limited to 'cc/CCLayerTreeHostCommon.h')
-rw-r--r-- | cc/CCLayerTreeHostCommon.h | 96 |
1 files changed, 3 insertions, 93 deletions
diff --git a/cc/CCLayerTreeHostCommon.h b/cc/CCLayerTreeHostCommon.h index 01dc41e..4fcd6b0 100644 --- a/cc/CCLayerTreeHostCommon.h +++ b/cc/CCLayerTreeHostCommon.h @@ -1,96 +1,6 @@ -// Copyright 2011 The Chromium Authors. All rights reserved. +// Copyright 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CCLayerTreeHostCommon_h -#define CCLayerTreeHostCommon_h - -#include "base/memory/ref_counted.h" -#include "cc/scoped_ptr_vector.h" -#include "IntRect.h" -#include "IntSize.h" -#include <public/WebTransformationMatrix.h> -#include <wtf/Vector.h> - -namespace cc { - -class CCLayerImpl; -class CCLayerSorter; -class LayerChromium; - -class CCLayerTreeHostCommon { -public: - static IntRect calculateVisibleRect(const IntRect& targetSurfaceRect, const IntRect& layerBoundRect, const WebKit::WebTransformationMatrix&); - - static void calculateDrawTransforms(LayerChromium* rootLayer, const IntSize& deviceViewportSize, float deviceScaleFactor, int maxTextureSize, std::vector<scoped_refptr<LayerChromium> >& renderSurfaceLayerList); - static void calculateDrawTransforms(CCLayerImpl* rootLayer, const IntSize& deviceViewportSize, float deviceScaleFactor, CCLayerSorter*, int maxTextureSize, std::vector<CCLayerImpl*>& renderSurfaceLayerList); - - // Performs hit testing for a given renderSurfaceLayerList. - static CCLayerImpl* findLayerThatIsHitByPoint(const IntPoint& viewportPoint, std::vector<CCLayerImpl*>& renderSurfaceLayerList); - - template<typename LayerType> static bool renderSurfaceContributesToTarget(LayerType*, int targetSurfaceLayerID); - - // Returns a layer with the given id if one exists in the subtree starting - // from the given root layer (including mask and replica layers). - template<typename LayerType> static LayerType* findLayerInSubtree(LayerType* rootLayer, int layerId); - - static LayerChromium* getChildAsRawPtr(const std::vector<scoped_refptr<LayerChromium> >& children, size_t index) - { - return children[index].get(); - } - - static CCLayerImpl* getChildAsRawPtr(const ScopedPtrVector<CCLayerImpl>& children, size_t index) - { - return children[index]; - } - - struct ScrollUpdateInfo { - int layerId; - IntSize scrollDelta; - }; -}; - -struct CCScrollAndScaleSet { - CCScrollAndScaleSet(); - ~CCScrollAndScaleSet(); - - Vector<CCLayerTreeHostCommon::ScrollUpdateInfo> scrolls; - float pageScaleDelta; -}; - -template<typename LayerType> -bool CCLayerTreeHostCommon::renderSurfaceContributesToTarget(LayerType* layer, int targetSurfaceLayerID) -{ - // A layer will either contribute its own content, or its render surface's content, to - // the target surface. The layer contributes its surface's content when both the - // following are true: - // (1) The layer actually has a renderSurface, and - // (2) The layer's renderSurface is not the same as the targetSurface. - // - // Otherwise, the layer just contributes itself to the target surface. - - return layer->renderSurface() && layer->id() != targetSurfaceLayerID; -} - -template<typename LayerType> -LayerType* CCLayerTreeHostCommon::findLayerInSubtree(LayerType* rootLayer, int layerId) -{ - if (rootLayer->id() == layerId) - return rootLayer; - - if (rootLayer->maskLayer() && rootLayer->maskLayer()->id() == layerId) - return rootLayer->maskLayer(); - - if (rootLayer->replicaLayer() && rootLayer->replicaLayer()->id() == layerId) - return rootLayer->replicaLayer(); - - for (size_t i = 0; i < rootLayer->children().size(); ++i) { - if (LayerType* found = findLayerInSubtree(getChildAsRawPtr(rootLayer->children(), i), layerId)) - return found; - } - return 0; -} - -} // namespace cc - -#endif +// Temporary forwarding header +#include "cc/layer_tree_host_common.h" |