Index: cc/CCLayerSorter.h |
diff --git a/cc/CCLayerSorter.h b/cc/CCLayerSorter.h |
index d4ca664abbbbf314daca7b420f98571fa448a7b2..a2fd49c3999d9169652c1a3618973eff134fceaa 100644 |
--- a/cc/CCLayerSorter.h |
+++ b/cc/CCLayerSorter.h |
@@ -1,92 +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 CCLayerSorter_h |
-#define CCLayerSorter_h |
- |
-#include "base/basictypes.h" |
-#include "CCLayerImpl.h" |
-#include "FloatPoint3D.h" |
-#include "FloatQuad.h" |
-#include "FloatRect.h" |
-#include <vector> |
-#include <wtf/HashMap.h> |
-#include <wtf/Vector.h> |
- |
-namespace WebKit { |
-class WebTransformationMatrix; |
-} |
- |
-namespace cc { |
- |
-class CCLayerSorter { |
-public: |
- CCLayerSorter(); |
- ~CCLayerSorter(); |
- |
- typedef std::vector<CCLayerImpl*> LayerList; |
- |
- void sort(LayerList::iterator first, LayerList::iterator last); |
- |
- // Holds various useful properties derived from a layer's 3D outline. |
- struct LayerShape { |
- LayerShape(); |
- LayerShape(float width, float height, const WebKit::WebTransformationMatrix& drawTransform); |
- |
- float layerZFromProjectedPoint(const FloatPoint&) const; |
- |
- FloatPoint3D layerNormal; |
- FloatPoint3D transformOrigin; |
- FloatQuad projectedQuad; |
- FloatRect projectedBounds; |
- }; |
- |
- enum ABCompareResult { |
- ABeforeB, |
- BBeforeA, |
- None |
- }; |
- |
- static ABCompareResult checkOverlap(LayerShape*, LayerShape*, float zThreshold, float& weight); |
- |
-private: |
- struct GraphEdge; |
- |
- struct GraphNode { |
- explicit GraphNode(CCLayerImpl* cclayer); |
- ~GraphNode(); |
- |
- CCLayerImpl* layer; |
- LayerShape shape; |
- Vector<GraphEdge*> incoming; |
- Vector<GraphEdge*> outgoing; |
- float incomingEdgeWeight; |
- }; |
- |
- struct GraphEdge { |
- GraphEdge(GraphNode* fromNode, GraphNode* toNode, float weight) : from(fromNode), to(toNode), weight(weight) { }; |
- |
- GraphNode* from; |
- GraphNode* to; |
- float weight; |
- }; |
- |
- typedef Vector<GraphNode> NodeList; |
- typedef Vector<GraphEdge> EdgeList; |
- NodeList m_nodes; |
- EdgeList m_edges; |
- float m_zRange; |
- |
- typedef HashMap<GraphEdge*, GraphEdge*> EdgeMap; |
- EdgeMap m_activeEdges; |
- |
- void createGraphNodes(LayerList::iterator first, LayerList::iterator last); |
- void createGraphEdges(); |
- void removeEdgeFromList(GraphEdge*, Vector<GraphEdge*>&); |
- |
- DISALLOW_COPY_AND_ASSIGN(CCLayerSorter); |
-}; |
- |
-} |
-#endif |
+// Temporary forwarding header |
+#include "cc/layer_sorter.h" |