Index: cc/trees/layer_tree_host_common.h |
diff --git a/cc/trees/layer_tree_host_common.h b/cc/trees/layer_tree_host_common.h |
deleted file mode 100644 |
index 404f407f008f9fdcc00bde62d643d40ca09b8beb..0000000000000000000000000000000000000000 |
--- a/cc/trees/layer_tree_host_common.h |
+++ /dev/null |
@@ -1,289 +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_TREE_HOST_COMMON_H_ |
-#define CC_TREES_LAYER_TREE_HOST_COMMON_H_ |
- |
-#include <limits> |
-#include <vector> |
- |
-#include "base/bind.h" |
-#include "base/memory/ref_counted.h" |
-#include "cc/base/cc_export.h" |
-#include "cc/base/scoped_ptr_vector.h" |
-#include "cc/layers/layer_lists.h" |
-#include "ui/gfx/geometry/rect.h" |
-#include "ui/gfx/geometry/vector2d.h" |
-#include "ui/gfx/transform.h" |
- |
-namespace cc { |
- |
-class LayerImpl; |
-class Layer; |
-class SwapPromise; |
- |
-class CC_EXPORT LayerTreeHostCommon { |
- public: |
- static gfx::Rect CalculateVisibleRect(const gfx::Rect& target_surface_rect, |
- const gfx::Rect& layer_bound_rect, |
- const gfx::Transform& transform); |
- |
- template <typename LayerType, typename RenderSurfaceLayerListType> |
- struct CalcDrawPropsInputs { |
- public: |
- CalcDrawPropsInputs(LayerType* root_layer, |
- const gfx::Size& device_viewport_size, |
- const gfx::Transform& device_transform, |
- float device_scale_factor, |
- float page_scale_factor, |
- const LayerType* page_scale_application_layer, |
- const gfx::Vector2dF& elastic_overscroll, |
- const LayerType* elastic_overscroll_application_layer, |
- int max_texture_size, |
- bool can_use_lcd_text, |
- bool layers_always_allowed_lcd_text, |
- bool can_render_to_separate_surface, |
- bool can_adjust_raster_scales, |
- bool verify_property_trees, |
- RenderSurfaceLayerListType* render_surface_layer_list, |
- int current_render_surface_layer_list_id) |
- : root_layer(root_layer), |
- device_viewport_size(device_viewport_size), |
- device_transform(device_transform), |
- device_scale_factor(device_scale_factor), |
- page_scale_factor(page_scale_factor), |
- page_scale_application_layer(page_scale_application_layer), |
- elastic_overscroll(elastic_overscroll), |
- elastic_overscroll_application_layer( |
- elastic_overscroll_application_layer), |
- max_texture_size(max_texture_size), |
- can_use_lcd_text(can_use_lcd_text), |
- layers_always_allowed_lcd_text(layers_always_allowed_lcd_text), |
- can_render_to_separate_surface(can_render_to_separate_surface), |
- can_adjust_raster_scales(can_adjust_raster_scales), |
- verify_property_trees(verify_property_trees), |
- render_surface_layer_list(render_surface_layer_list), |
- current_render_surface_layer_list_id( |
- current_render_surface_layer_list_id) {} |
- |
- LayerType* root_layer; |
- gfx::Size device_viewport_size; |
- const gfx::Transform& device_transform; |
- float device_scale_factor; |
- float page_scale_factor; |
- const LayerType* page_scale_application_layer; |
- gfx::Vector2dF elastic_overscroll; |
- const LayerType* elastic_overscroll_application_layer; |
- int max_texture_size; |
- bool can_use_lcd_text; |
- bool layers_always_allowed_lcd_text; |
- bool can_render_to_separate_surface; |
- bool can_adjust_raster_scales; |
- bool verify_property_trees; |
- RenderSurfaceLayerListType* render_surface_layer_list; |
- int current_render_surface_layer_list_id; |
- }; |
- |
- template <typename LayerType, typename RenderSurfaceLayerListType> |
- struct CalcDrawPropsInputsForTesting |
- : public CalcDrawPropsInputs<LayerType, RenderSurfaceLayerListType> { |
- CalcDrawPropsInputsForTesting( |
- LayerType* root_layer, |
- const gfx::Size& device_viewport_size, |
- const gfx::Transform& device_transform, |
- RenderSurfaceLayerListType* render_surface_layer_list); |
- CalcDrawPropsInputsForTesting( |
- LayerType* root_layer, |
- const gfx::Size& device_viewport_size, |
- RenderSurfaceLayerListType* render_surface_layer_list); |
- |
- private: |
- const gfx::Transform identity_transform_; |
- }; |
- |
- typedef CalcDrawPropsInputs<Layer, RenderSurfaceLayerList> |
- CalcDrawPropsMainInputs; |
- typedef CalcDrawPropsInputsForTesting<Layer, RenderSurfaceLayerList> |
- CalcDrawPropsMainInputsForTesting; |
- static void UpdateRenderSurfaces(Layer* root_layer, |
- bool can_render_to_separate_surface, |
- const gfx::Transform& transform, |
- bool preserves_2d_axis_alignment); |
- static void UpdateRenderSurface(Layer* layer, |
- bool can_render_to_separate_surface, |
- gfx::Transform* transform, |
- bool* animation_preserves_axis_alignment); |
- static void CalculateDrawProperties(CalcDrawPropsMainInputs* inputs); |
- |
- typedef CalcDrawPropsInputs<LayerImpl, LayerImplList> CalcDrawPropsImplInputs; |
- typedef CalcDrawPropsInputsForTesting<LayerImpl, LayerImplList> |
- CalcDrawPropsImplInputsForTesting; |
- static void CalculateDrawProperties(CalcDrawPropsImplInputs* inputs); |
- |
- template <typename LayerType> |
- static bool RenderSurfaceContributesToTarget(LayerType*, |
- int target_surface_layer_id); |
- |
- template <typename LayerType, typename Function> |
- static void CallFunctionForSubtree(LayerType* layer, |
- const Function& function); |
- |
- // 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* root_layer, int layer_id); |
- |
- static Layer* get_layer_as_raw_ptr(const LayerList& layers, size_t index) { |
- return layers[index].get(); |
- } |
- |
- static LayerImpl* get_layer_as_raw_ptr(const OwnedLayerImplList& layers, |
- size_t index) { |
- return layers[index]; |
- } |
- |
- static LayerImpl* get_layer_as_raw_ptr(const LayerImplList& layers, |
- size_t index) { |
- return layers[index]; |
- } |
- |
- struct ScrollUpdateInfo { |
- int layer_id; |
- // TODO(miletus): Use ScrollOffset once LayerTreeHost/Blink fully supports |
- // franctional scroll offset. |
- gfx::Vector2d scroll_delta; |
- }; |
-}; |
- |
-struct CC_EXPORT ScrollAndScaleSet { |
- ScrollAndScaleSet(); |
- ~ScrollAndScaleSet(); |
- |
- std::vector<LayerTreeHostCommon::ScrollUpdateInfo> scrolls; |
- float page_scale_delta; |
- gfx::Vector2dF elastic_overscroll_delta; |
- float top_controls_delta; |
- ScopedPtrVector<SwapPromise> swap_promises; |
-}; |
- |
-template <typename LayerType> |
-bool LayerTreeHostCommon::RenderSurfaceContributesToTarget( |
- LayerType* layer, |
- int target_surface_layer_id) { |
- // 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 render surface and rendering into that |
- // surface, and |
- // (2) The layer's render surface is not the same as the target surface. |
- // |
- // Otherwise, the layer just contributes itself to the target surface. |
- |
- return layer->render_target() == layer && |
- layer->id() != target_surface_layer_id; |
-} |
- |
-template <typename LayerType> |
-LayerType* LayerTreeHostCommon::FindLayerInSubtree(LayerType* root_layer, |
- int layer_id) { |
- if (!root_layer) |
- return NULL; |
- |
- if (root_layer->id() == layer_id) |
- return root_layer; |
- |
- if (root_layer->mask_layer() && root_layer->mask_layer()->id() == layer_id) |
- return root_layer->mask_layer(); |
- |
- if (root_layer->replica_layer() && |
- root_layer->replica_layer()->id() == layer_id) |
- return root_layer->replica_layer(); |
- |
- for (size_t i = 0; i < root_layer->children().size(); ++i) { |
- if (LayerType* found = FindLayerInSubtree( |
- get_layer_as_raw_ptr(root_layer->children(), i), layer_id)) |
- return found; |
- } |
- return NULL; |
-} |
- |
-template <typename LayerType, typename Function> |
-void LayerTreeHostCommon::CallFunctionForSubtree(LayerType* layer, |
- const Function& function) { |
- function(layer); |
- |
- if (LayerType* mask_layer = layer->mask_layer()) |
- function(mask_layer); |
- if (LayerType* replica_layer = layer->replica_layer()) { |
- function(replica_layer); |
- if (LayerType* mask_layer = replica_layer->mask_layer()) |
- function(mask_layer); |
- } |
- |
- for (size_t i = 0; i < layer->children().size(); ++i) { |
- CallFunctionForSubtree(get_layer_as_raw_ptr(layer->children(), i), |
- function); |
- } |
-} |
- |
-template <typename LayerType, typename RenderSurfaceLayerListType> |
-LayerTreeHostCommon::CalcDrawPropsInputsForTesting<LayerType, |
- RenderSurfaceLayerListType>:: |
- CalcDrawPropsInputsForTesting( |
- LayerType* root_layer, |
- const gfx::Size& device_viewport_size, |
- const gfx::Transform& device_transform, |
- RenderSurfaceLayerListType* render_surface_layer_list) |
- : CalcDrawPropsInputs<LayerType, RenderSurfaceLayerListType>( |
- root_layer, |
- device_viewport_size, |
- device_transform, |
- 1.f, |
- 1.f, |
- NULL, |
- gfx::Vector2dF(), |
- NULL, |
- std::numeric_limits<int>::max() / 2, |
- false, |
- false, |
- true, |
- false, |
- true, |
- render_surface_layer_list, |
- 0) { |
- DCHECK(root_layer); |
- DCHECK(render_surface_layer_list); |
-} |
- |
-template <typename LayerType, typename RenderSurfaceLayerListType> |
-LayerTreeHostCommon::CalcDrawPropsInputsForTesting<LayerType, |
- RenderSurfaceLayerListType>:: |
- CalcDrawPropsInputsForTesting( |
- LayerType* root_layer, |
- const gfx::Size& device_viewport_size, |
- RenderSurfaceLayerListType* render_surface_layer_list) |
- : CalcDrawPropsInputs<LayerType, RenderSurfaceLayerListType>( |
- root_layer, |
- device_viewport_size, |
- identity_transform_, |
- 1.f, |
- 1.f, |
- NULL, |
- gfx::Vector2dF(), |
- NULL, |
- std::numeric_limits<int>::max() / 2, |
- false, |
- false, |
- true, |
- false, |
- true, |
- render_surface_layer_list, |
- 0) { |
- DCHECK(root_layer); |
- DCHECK(render_surface_layer_list); |
-} |
- |
-} // namespace cc |
- |
-#endif // CC_TREES_LAYER_TREE_HOST_COMMON_H_ |