Index: cc/trees/layer_sorter.h |
diff --git a/cc/trees/layer_sorter.h b/cc/trees/layer_sorter.h |
deleted file mode 100644 |
index 4cfa8feddc027739b11466963af1fd6007590d93..0000000000000000000000000000000000000000 |
--- a/cc/trees/layer_sorter.h |
+++ /dev/null |
@@ -1,97 +0,0 @@ |
-// Copyright 2011 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 CC_TREES_LAYER_SORTER_H_ |
-#define CC_TREES_LAYER_SORTER_H_ |
- |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/containers/hash_tables.h" |
-#include "cc/base/cc_export.h" |
-#include "cc/layers/layer_impl.h" |
-#include "ui/gfx/geometry/point3_f.h" |
-#include "ui/gfx/geometry/quad_f.h" |
-#include "ui/gfx/geometry/rect_f.h" |
-#include "ui/gfx/geometry/vector3d_f.h" |
- |
-namespace gfx { |
-class Transform; |
-} |
- |
-namespace cc { |
-struct GraphEdge; |
- |
-// Holds various useful properties derived from a layer's 3D outline. |
-struct CC_EXPORT LayerShape { |
- LayerShape(); |
- LayerShape(float width, float height, const gfx::Transform& draw_transform); |
- ~LayerShape(); |
- |
- float LayerZFromProjectedPoint(const gfx::PointF& p) const; |
- |
- gfx::Vector3dF layer_normal; |
- gfx::Point3F transform_origin; |
- gfx::QuadF projected_quad; |
- gfx::RectF projected_bounds; |
-}; |
- |
-struct GraphNode { |
- explicit GraphNode(LayerImpl* layer_impl); |
- ~GraphNode(); |
- |
- LayerImpl* layer; |
- LayerShape shape; |
- std::vector<GraphEdge*> incoming; |
- std::vector<GraphEdge*> outgoing; |
- float incoming_edge_weight; |
-}; |
- |
-struct GraphEdge { |
- GraphEdge(GraphNode* from_node, GraphNode* to_node, float weight) |
- : from(from_node), |
- to(to_node), |
- weight(weight) {} |
- |
- GraphNode* from; |
- GraphNode* to; |
- float weight; |
-}; |
- |
- |
- |
-class CC_EXPORT LayerSorter { |
- public: |
- LayerSorter(); |
- ~LayerSorter(); |
- |
- void Sort(LayerImplList::iterator first, LayerImplList::iterator last); |
- |
- enum ABCompareResult { A_BEFORE_B, B_BEFORE_A, NONE }; |
- |
- static ABCompareResult CheckOverlap(LayerShape* a, |
- LayerShape* b, |
- float z_threshold, |
- float* weight); |
- |
- private: |
- typedef std::vector<GraphNode> NodeList; |
- typedef std::vector<GraphEdge> EdgeList; |
- NodeList nodes_; |
- EdgeList edges_; |
- float z_range_; |
- |
- typedef base::hash_map<GraphEdge*, GraphEdge*> EdgeMap; |
- EdgeMap active_edges_; |
- |
- void CreateGraphNodes(LayerImplList::iterator first, |
- LayerImplList::iterator last); |
- void CreateGraphEdges(); |
- void RemoveEdgeFromList(GraphEdge* graph, std::vector<GraphEdge*>* list); |
- |
- DISALLOW_COPY_AND_ASSIGN(LayerSorter); |
-}; |
- |
-} // namespace cc |
-#endif // CC_TREES_LAYER_SORTER_H_ |