| 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 <list> | 8 #include <list> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 public: | 60 public: |
| 61 virtual void DidLoseOutputSurfaceOnImplThread() = 0; | 61 virtual void DidLoseOutputSurfaceOnImplThread() = 0; |
| 62 virtual void DidSwapBuffersOnImplThread() = 0; | 62 virtual void DidSwapBuffersOnImplThread() = 0; |
| 63 virtual void OnSwapBuffersCompleteOnImplThread() = 0; | 63 virtual void OnSwapBuffersCompleteOnImplThread() = 0; |
| 64 virtual void BeginImplFrame(const BeginFrameArgs& args) = 0; | 64 virtual void BeginImplFrame(const BeginFrameArgs& args) = 0; |
| 65 virtual void OnCanDrawStateChanged(bool can_draw) = 0; | 65 virtual void OnCanDrawStateChanged(bool can_draw) = 0; |
| 66 virtual void NotifyReadyToActivate() = 0; | 66 virtual void NotifyReadyToActivate() = 0; |
| 67 // Please call these 2 functions through | 67 // Please call these 2 functions through |
| 68 // LayerTreeHostImpl's SetNeedsRedraw() and SetNeedsRedrawRect(). | 68 // LayerTreeHostImpl's SetNeedsRedraw() and SetNeedsRedrawRect(). |
| 69 virtual void SetNeedsRedrawOnImplThread() = 0; | 69 virtual void SetNeedsRedrawOnImplThread() = 0; |
| 70 virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect damage_rect) = 0; | 70 virtual void SetNeedsRedrawRectOnImplThread(const gfx::Rect& damage_rect) = 0; |
| 71 virtual void DidInitializeVisibleTileOnImplThread() = 0; | 71 virtual void DidInitializeVisibleTileOnImplThread() = 0; |
| 72 virtual void SetNeedsCommitOnImplThread() = 0; | 72 virtual void SetNeedsCommitOnImplThread() = 0; |
| 73 virtual void SetNeedsManageTilesOnImplThread() = 0; | 73 virtual void SetNeedsManageTilesOnImplThread() = 0; |
| 74 virtual void PostAnimationEventsToMainThreadOnImplThread( | 74 virtual void PostAnimationEventsToMainThreadOnImplThread( |
| 75 scoped_ptr<AnimationEventsVector> events, | 75 scoped_ptr<AnimationEventsVector> events, |
| 76 base::Time wall_clock_time) = 0; | 76 base::Time wall_clock_time) = 0; |
| 77 // Returns true if resources were deleted by this call. | 77 // Returns true if resources were deleted by this call. |
| 78 virtual bool ReduceContentsTextureMemoryOnImplThread( | 78 virtual bool ReduceContentsTextureMemoryOnImplThread( |
| 79 size_t limit_bytes, | 79 size_t limit_bytes, |
| 80 int priority_cutoff) = 0; | 80 int priority_cutoff) = 0; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 163 |
| 164 virtual void BeginMainFrameAborted(bool did_handle); | 164 virtual void BeginMainFrameAborted(bool did_handle); |
| 165 virtual void BeginCommit(); | 165 virtual void BeginCommit(); |
| 166 virtual void CommitComplete(); | 166 virtual void CommitComplete(); |
| 167 virtual void Animate(base::TimeTicks monotonic_time, | 167 virtual void Animate(base::TimeTicks monotonic_time, |
| 168 base::Time wall_clock_time); | 168 base::Time wall_clock_time); |
| 169 virtual void UpdateAnimationState(bool start_ready_animations); | 169 virtual void UpdateAnimationState(bool start_ready_animations); |
| 170 void MainThreadHasStoppedFlinging(); | 170 void MainThreadHasStoppedFlinging(); |
| 171 void UpdateBackgroundAnimateTicking(bool should_background_tick); | 171 void UpdateBackgroundAnimateTicking(bool should_background_tick); |
| 172 void DidAnimateScrollOffset(); | 172 void DidAnimateScrollOffset(); |
| 173 void SetViewportDamage(gfx::Rect damage_rect); | 173 void SetViewportDamage(const gfx::Rect& damage_rect); |
| 174 | 174 |
| 175 virtual void ManageTiles(); | 175 virtual void ManageTiles(); |
| 176 | 176 |
| 177 // Returns false if problems occured preparing the frame, and we should try | 177 // Returns false if problems occured preparing the frame, and we should try |
| 178 // to avoid displaying the frame. If PrepareToDraw is called, DidDrawAllLayers | 178 // to avoid displaying the frame. If PrepareToDraw is called, DidDrawAllLayers |
| 179 // must also be called, regardless of whether DrawLayers is called between the | 179 // must also be called, regardless of whether DrawLayers is called between the |
| 180 // two. | 180 // two. |
| 181 virtual bool PrepareToDraw(FrameData* frame, | 181 virtual bool PrepareToDraw(FrameData* frame, |
| 182 gfx::Rect device_viewport_damage_rect); | 182 const gfx::Rect& damage_rect); |
| 183 virtual void DrawLayers(FrameData* frame, base::TimeTicks frame_begin_time); | 183 virtual void DrawLayers(FrameData* frame, base::TimeTicks frame_begin_time); |
| 184 // Must be called if and only if PrepareToDraw was called. | 184 // Must be called if and only if PrepareToDraw was called. |
| 185 void DidDrawAllLayers(const FrameData& frame); | 185 void DidDrawAllLayers(const FrameData& frame); |
| 186 | 186 |
| 187 const LayerTreeSettings& settings() const { return settings_; } | 187 const LayerTreeSettings& settings() const { return settings_; } |
| 188 | 188 |
| 189 // Evict all textures by enforcing a memory policy with an allocation of 0. | 189 // Evict all textures by enforcing a memory policy with an allocation of 0. |
| 190 void EvictTexturesForTesting(); | 190 void EvictTexturesForTesting(); |
| 191 | 191 |
| 192 // When blocking, this prevents client_->NotifyReadyToActivate() from being | 192 // When blocking, this prevents client_->NotifyReadyToActivate() from being |
| (...skipping 20 matching lines...) Expand all Loading... |
| 213 // RendererClient implementation. | 213 // RendererClient implementation. |
| 214 virtual void SetFullRootLayerDamage() OVERRIDE; | 214 virtual void SetFullRootLayerDamage() OVERRIDE; |
| 215 | 215 |
| 216 // TileManagerClient implementation. | 216 // TileManagerClient implementation. |
| 217 virtual void NotifyReadyToActivate() OVERRIDE; | 217 virtual void NotifyReadyToActivate() OVERRIDE; |
| 218 | 218 |
| 219 // OutputSurfaceClient implementation. | 219 // OutputSurfaceClient implementation. |
| 220 virtual bool DeferredInitialize( | 220 virtual bool DeferredInitialize( |
| 221 scoped_refptr<ContextProvider> offscreen_context_provider) OVERRIDE; | 221 scoped_refptr<ContextProvider> offscreen_context_provider) OVERRIDE; |
| 222 virtual void ReleaseGL() OVERRIDE; | 222 virtual void ReleaseGL() OVERRIDE; |
| 223 virtual void SetNeedsRedrawRect(gfx::Rect rect) OVERRIDE; | 223 virtual void SetNeedsRedrawRect(const gfx::Rect& rect) OVERRIDE; |
| 224 virtual void BeginImplFrame(const BeginFrameArgs& args) OVERRIDE; | 224 virtual void BeginImplFrame(const BeginFrameArgs& args) OVERRIDE; |
| 225 virtual void SetExternalDrawConstraints( | 225 virtual void SetExternalDrawConstraints( |
| 226 const gfx::Transform& transform, | 226 const gfx::Transform& transform, |
| 227 gfx::Rect viewport, | 227 const gfx::Rect& viewport, |
| 228 gfx::Rect clip, | 228 const gfx::Rect& clip, |
| 229 bool valid_for_tile_management) OVERRIDE; | 229 bool valid_for_tile_management) OVERRIDE; |
| 230 virtual void DidLoseOutputSurface() OVERRIDE; | 230 virtual void DidLoseOutputSurface() OVERRIDE; |
| 231 virtual void DidSwapBuffers() OVERRIDE; | 231 virtual void DidSwapBuffers() OVERRIDE; |
| 232 virtual void OnSwapBuffersComplete() OVERRIDE; | 232 virtual void OnSwapBuffersComplete() OVERRIDE; |
| 233 virtual void ReclaimResources(const CompositorFrameAck* ack) OVERRIDE; | 233 virtual void ReclaimResources(const CompositorFrameAck* ack) OVERRIDE; |
| 234 virtual void SetMemoryPolicy(const ManagedMemoryPolicy& policy) OVERRIDE; | 234 virtual void SetMemoryPolicy(const ManagedMemoryPolicy& policy) OVERRIDE; |
| 235 virtual void SetTreeActivationCallback(const base::Closure& callback) | 235 virtual void SetTreeActivationCallback(const base::Closure& callback) |
| 236 OVERRIDE; | 236 OVERRIDE; |
| 237 | 237 |
| 238 // Called from LayerTreeImpl. | 238 // Called from LayerTreeImpl. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 256 virtual bool InitializeRenderer(scoped_ptr<OutputSurface> output_surface); | 256 virtual bool InitializeRenderer(scoped_ptr<OutputSurface> output_surface); |
| 257 bool IsContextLost(); | 257 bool IsContextLost(); |
| 258 TileManager* tile_manager() { return tile_manager_.get(); } | 258 TileManager* tile_manager() { return tile_manager_.get(); } |
| 259 Renderer* renderer() { return renderer_.get(); } | 259 Renderer* renderer() { return renderer_.get(); } |
| 260 const RendererCapabilities& GetRendererCapabilities() const; | 260 const RendererCapabilities& GetRendererCapabilities() const; |
| 261 | 261 |
| 262 virtual bool SwapBuffers(const FrameData& frame); | 262 virtual bool SwapBuffers(const FrameData& frame); |
| 263 void SetNeedsBeginImplFrame(bool enable); | 263 void SetNeedsBeginImplFrame(bool enable); |
| 264 void DidModifyTilePriorities(); | 264 void DidModifyTilePriorities(); |
| 265 | 265 |
| 266 void Readback(void* pixels, gfx::Rect rect_in_device_viewport); | 266 void Readback(void* pixels, const gfx::Rect& rect_in_device_viewport); |
| 267 | 267 |
| 268 LayerTreeImpl* active_tree() { return active_tree_.get(); } | 268 LayerTreeImpl* active_tree() { return active_tree_.get(); } |
| 269 const LayerTreeImpl* active_tree() const { return active_tree_.get(); } | 269 const LayerTreeImpl* active_tree() const { return active_tree_.get(); } |
| 270 LayerTreeImpl* pending_tree() { return pending_tree_.get(); } | 270 LayerTreeImpl* pending_tree() { return pending_tree_.get(); } |
| 271 const LayerTreeImpl* pending_tree() const { return pending_tree_.get(); } | 271 const LayerTreeImpl* pending_tree() const { return pending_tree_.get(); } |
| 272 const LayerTreeImpl* recycle_tree() const { return recycle_tree_.get(); } | 272 const LayerTreeImpl* recycle_tree() const { return recycle_tree_.get(); } |
| 273 virtual void CreatePendingTree(); | 273 virtual void CreatePendingTree(); |
| 274 virtual void UpdateVisibleTiles(); | 274 virtual void UpdateVisibleTiles(); |
| 275 virtual void ActivatePendingTree(); | 275 virtual void ActivatePendingTree(); |
| 276 | 276 |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 651 int id_; | 651 int id_; |
| 652 | 652 |
| 653 std::set<SwapPromiseMonitor*> swap_promise_monitor_; | 653 std::set<SwapPromiseMonitor*> swap_promise_monitor_; |
| 654 | 654 |
| 655 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); | 655 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); |
| 656 }; | 656 }; |
| 657 | 657 |
| 658 } // namespace cc | 658 } // namespace cc |
| 659 | 659 |
| 660 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 660 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| OLD | NEW |