| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 5 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| 6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 class TileTaskWorkerPool; | 56 class TileTaskWorkerPool; |
| 57 class RenderPassDrawQuad; | 57 class RenderPassDrawQuad; |
| 58 class RenderingStatsInstrumentation; | 58 class RenderingStatsInstrumentation; |
| 59 class ResourcePool; | 59 class ResourcePool; |
| 60 class ScrollElasticityHelper; | 60 class ScrollElasticityHelper; |
| 61 class ScrollbarLayerImplBase; | 61 class ScrollbarLayerImplBase; |
| 62 class TextureMailboxDeleter; | 62 class TextureMailboxDeleter; |
| 63 class TopControlsManager; | 63 class TopControlsManager; |
| 64 class UIResourceBitmap; | 64 class UIResourceBitmap; |
| 65 class UIResourceRequest; | 65 class UIResourceRequest; |
| 66 class Viewport; |
| 66 struct RendererCapabilitiesImpl; | 67 struct RendererCapabilitiesImpl; |
| 67 | 68 |
| 68 enum class GpuRasterizationStatus { | 69 enum class GpuRasterizationStatus { |
| 69 ON, | 70 ON, |
| 70 ON_FORCED, | 71 ON_FORCED, |
| 71 OFF_DEVICE, | 72 OFF_DEVICE, |
| 72 OFF_VIEWPORT, | 73 OFF_VIEWPORT, |
| 73 OFF_CONTENT | 74 OFF_CONTENT |
| 74 }; | 75 }; |
| 75 | 76 |
| (...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, | 516 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, |
| 516 scoped_ptr<ResourcePool>* resource_pool, | 517 scoped_ptr<ResourcePool>* resource_pool, |
| 517 scoped_ptr<ResourcePool>* staging_resource_pool); | 518 scoped_ptr<ResourcePool>* staging_resource_pool); |
| 518 | 519 |
| 519 bool prepare_tiles_needed() const { return tile_priorities_dirty_; } | 520 bool prepare_tiles_needed() const { return tile_priorities_dirty_; } |
| 520 | 521 |
| 521 FrameTimingTracker* frame_timing_tracker() { | 522 FrameTimingTracker* frame_timing_tracker() { |
| 522 return frame_timing_tracker_.get(); | 523 return frame_timing_tracker_.get(); |
| 523 } | 524 } |
| 524 | 525 |
| 526 gfx::Vector2dF ScrollLayerWithViewportSpaceDelta( |
| 527 LayerImpl* layer_impl, |
| 528 const gfx::PointF& viewport_point, |
| 529 const gfx::Vector2dF& viewport_delta); |
| 530 gfx::Vector2dF ScrollLayerWithLocalDelta( |
| 531 LayerImpl* layer_impl, |
| 532 const gfx::Vector2dF& local_delta, |
| 533 float page_scale_factor) const; |
| 534 |
| 525 protected: | 535 protected: |
| 526 LayerTreeHostImpl( | 536 LayerTreeHostImpl( |
| 527 const LayerTreeSettings& settings, | 537 const LayerTreeSettings& settings, |
| 528 LayerTreeHostImplClient* client, | 538 LayerTreeHostImplClient* client, |
| 529 Proxy* proxy, | 539 Proxy* proxy, |
| 530 RenderingStatsInstrumentation* rendering_stats_instrumentation, | 540 RenderingStatsInstrumentation* rendering_stats_instrumentation, |
| 531 SharedBitmapManager* shared_bitmap_manager, | 541 SharedBitmapManager* shared_bitmap_manager, |
| 532 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 542 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| 533 int id); | 543 int id); |
| 534 | 544 |
| 535 | 545 |
| 536 // Virtual for testing. | 546 // Virtual for testing. |
| 537 virtual void AnimateLayers(base::TimeTicks monotonic_time); | 547 virtual void AnimateLayers(base::TimeTicks monotonic_time); |
| 538 | 548 |
| 539 LayerTreeHostImplClient* client_; | 549 LayerTreeHostImplClient* client_; |
| 540 Proxy* proxy_; | 550 Proxy* proxy_; |
| 541 | 551 |
| 542 private: | 552 private: |
| 543 void CreateAndSetRenderer(); | 553 void CreateAndSetRenderer(); |
| 544 void CreateAndSetTileManager(); | 554 void CreateAndSetTileManager(); |
| 545 void DestroyTileManager(); | 555 void DestroyTileManager(); |
| 546 void ReleaseTreeResources(); | 556 void ReleaseTreeResources(); |
| 547 void RecreateTreeResources(); | 557 void RecreateTreeResources(); |
| 548 void EnforceZeroBudget(bool zero_budget); | 558 void EnforceZeroBudget(bool zero_budget); |
| 549 | 559 |
| 550 bool IsSynchronousSingleThreaded() const; | 560 bool IsSynchronousSingleThreaded() const; |
| 551 | 561 |
| 562 Viewport* Viewport(); |
| 563 |
| 552 // Scroll by preferring to move the outer viewport first, only moving the | 564 // Scroll by preferring to move the outer viewport first, only moving the |
| 553 // inner if the outer is at its scroll extents. | 565 // inner if the outer is at its scroll extents. |
| 554 void ScrollViewportBy(gfx::Vector2dF scroll_delta); | 566 void ScrollViewportBy(gfx::Vector2dF scroll_delta); |
| 555 // Scroll by preferring to move the inner viewport first, only moving the | 567 // Scroll by preferring to move the inner viewport first, only moving the |
| 556 // outer if the inner is at its scroll extents. | 568 // outer if the inner is at its scroll extents. |
| 557 void ScrollViewportInnerFirst(gfx::Vector2dF scroll_delta); | 569 void ScrollViewportInnerFirst(gfx::Vector2dF scroll_delta); |
| 558 void AnimatePageScale(base::TimeTicks monotonic_time); | 570 void AnimatePageScale(base::TimeTicks monotonic_time); |
| 559 void AnimateScrollbars(base::TimeTicks monotonic_time); | 571 void AnimateScrollbars(base::TimeTicks monotonic_time); |
| 560 void AnimateTopControls(base::TimeTicks monotonic_time); | 572 void AnimateTopControls(base::TimeTicks monotonic_time); |
| 561 | 573 |
| 562 bool ShouldTopControlsConsumeScroll(const gfx::Vector2dF& scroll_delta) const; | |
| 563 | |
| 564 gfx::Vector2dF ScrollLayerWithViewportSpaceDelta( | |
| 565 LayerImpl* layer_impl, | |
| 566 float scale_from_viewport_to_screen_space, | |
| 567 const gfx::PointF& viewport_point, | |
| 568 const gfx::Vector2dF& viewport_delta); | |
| 569 | |
| 570 void TrackDamageForAllSurfaces( | 574 void TrackDamageForAllSurfaces( |
| 571 LayerImpl* root_draw_layer, | 575 LayerImpl* root_draw_layer, |
| 572 const LayerImplList& render_surface_layer_list); | 576 const LayerImplList& render_surface_layer_list); |
| 573 | 577 |
| 574 void UpdateTileManagerMemoryPolicy(const ManagedMemoryPolicy& policy); | 578 void UpdateTileManagerMemoryPolicy(const ManagedMemoryPolicy& policy); |
| 575 | 579 |
| 576 // This function should only be called from PrepareToDraw, as DidDrawAllLayers | 580 // This function should only be called from PrepareToDraw, as DidDrawAllLayers |
| 577 // must be called if this helper function is called. Returns DRAW_SUCCESS if | 581 // must be called if this helper function is called. Returns DRAW_SUCCESS if |
| 578 // the frame should be drawn. | 582 // the frame should be drawn. |
| 579 DrawResult CalculateRenderPasses(FrameData* frame); | 583 DrawResult CalculateRenderPasses(FrameData* frame); |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 732 bool is_likely_to_require_a_draw_; | 736 bool is_likely_to_require_a_draw_; |
| 733 | 737 |
| 734 scoped_ptr<FrameTimingTracker> frame_timing_tracker_; | 738 scoped_ptr<FrameTimingTracker> frame_timing_tracker_; |
| 735 | 739 |
| 736 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); | 740 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); |
| 737 }; | 741 }; |
| 738 | 742 |
| 739 } // namespace cc | 743 } // namespace cc |
| 740 | 744 |
| 741 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 745 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| OLD | NEW |