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 CCLayerTreeHostImpl_h | 5 #ifndef CCLayerTreeHostImpl_h |
6 #define CCLayerTreeHostImpl_h | 6 #define CCLayerTreeHostImpl_h |
7 | 7 |
8 #include "CCAnimationEvents.h" | 8 #include "CCAnimationEvents.h" |
9 #include "CCInputHandler.h" | 9 #include "CCInputHandler.h" |
10 #include "CCLayerSorter.h" | 10 #include "CCLayerSorter.h" |
11 #include "CCRenderPass.h" | 11 #include "CCRenderPass.h" |
| 12 #include "CCRenderPassSink.h" |
12 #include "CCRenderer.h" | 13 #include "CCRenderer.h" |
13 #include "SkColor.h" | 14 #include "SkColor.h" |
14 #include <public/WebCompositorOutputSurfaceClient.h> | 15 #include <public/WebCompositorOutputSurfaceClient.h> |
15 #include <wtf/PassOwnPtr.h> | 16 #include <wtf/PassOwnPtr.h> |
16 #include <wtf/RefPtr.h> | 17 #include <wtf/RefPtr.h> |
17 | 18 |
18 namespace WebCore { | 19 namespace WebCore { |
19 | 20 |
20 class CCActiveGestureAnimation; | 21 class CCActiveGestureAnimation; |
21 class CCCompletionEvent; | 22 class CCCompletionEvent; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 virtual void scrollEnd() OVERRIDE; | 59 virtual void scrollEnd() OVERRIDE; |
59 virtual void pinchGestureBegin() OVERRIDE; | 60 virtual void pinchGestureBegin() OVERRIDE; |
60 virtual void pinchGestureUpdate(float, const IntPoint&) OVERRIDE; | 61 virtual void pinchGestureUpdate(float, const IntPoint&) OVERRIDE; |
61 virtual void pinchGestureEnd() OVERRIDE; | 62 virtual void pinchGestureEnd() OVERRIDE; |
62 virtual void startPageScaleAnimation(const IntSize& targetPosition, bool anc
horPoint, float pageScale, double startTime, double duration) OVERRIDE; | 63 virtual void startPageScaleAnimation(const IntSize& targetPosition, bool anc
horPoint, float pageScale, double startTime, double duration) OVERRIDE; |
63 virtual CCActiveGestureAnimation* activeGestureAnimation() OVERRIDE { return
m_activeGestureAnimation.get(); } | 64 virtual CCActiveGestureAnimation* activeGestureAnimation() OVERRIDE { return
m_activeGestureAnimation.get(); } |
64 // To clear an active animation, pass nullptr. | 65 // To clear an active animation, pass nullptr. |
65 virtual void setActiveGestureAnimation(PassOwnPtr<CCActiveGestureAnimation>)
OVERRIDE; | 66 virtual void setActiveGestureAnimation(PassOwnPtr<CCActiveGestureAnimation>)
OVERRIDE; |
66 virtual void scheduleAnimation() OVERRIDE; | 67 virtual void scheduleAnimation() OVERRIDE; |
67 | 68 |
68 struct FrameData { | 69 struct FrameData : public CCRenderPassSink { |
69 Vector<IntRect> occludingScreenSpaceRects; | 70 Vector<IntRect> occludingScreenSpaceRects; |
70 CCRenderPassList renderPasses; | 71 CCRenderPassList renderPasses; |
71 CCRenderPassIdHashMap renderPassesById; | 72 CCRenderPassIdHashMap renderPassesById; |
72 CCLayerList* renderSurfaceLayerList; | 73 CCLayerList* renderSurfaceLayerList; |
73 CCLayerList willDrawLayers; | 74 CCLayerList willDrawLayers; |
| 75 |
| 76 // CCRenderPassSink implementation. |
| 77 virtual void appendRenderPass(PassOwnPtr<CCRenderPass>) OVERRIDE; |
74 }; | 78 }; |
75 | 79 |
76 // Virtual for testing. | 80 // Virtual for testing. |
77 virtual void beginCommit(); | 81 virtual void beginCommit(); |
78 virtual void commitComplete(); | 82 virtual void commitComplete(); |
79 virtual void animate(double monotonicTime, double wallClockTime); | 83 virtual void animate(double monotonicTime, double wallClockTime); |
80 | 84 |
81 // Returns false if problems occured preparing the frame, and we should try | 85 // Returns false if problems occured preparing the frame, and we should try |
82 // to avoid displaying the frame. If prepareToDraw is called, | 86 // to avoid displaying the frame. If prepareToDraw is called, |
83 // didDrawAllLayers must also be called, regardless of whether drawLayers is | 87 // didDrawAllLayers must also be called, regardless of whether drawLayers is |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 // rendering and input event hit testing. | 290 // rendering and input event hit testing. |
287 CCLayerList m_renderSurfaceLayerList; | 291 CCLayerList m_renderSurfaceLayerList; |
288 | 292 |
289 OwnPtr<CCFrameRateCounter> m_fpsCounter; | 293 OwnPtr<CCFrameRateCounter> m_fpsCounter; |
290 OwnPtr<CCDebugRectHistory> m_debugRectHistory; | 294 OwnPtr<CCDebugRectHistory> m_debugRectHistory; |
291 }; | 295 }; |
292 | 296 |
293 }; | 297 }; |
294 | 298 |
295 #endif | 299 #endif |
OLD | NEW |