| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_SURFACES_SURFACE_H_ | 5 #ifndef CC_SURFACES_SURFACE_H_ |
| 6 #define CC_SURFACES_SURFACE_H_ | 6 #define CC_SURFACES_SURFACE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 const DrawCallback& draw_callback, | 130 const DrawCallback& draw_callback, |
| 131 const WillDrawCallback& will_draw_callback); | 131 const WillDrawCallback& will_draw_callback); |
| 132 FrameData(FrameData&& other); | 132 FrameData(FrameData&& other); |
| 133 ~FrameData(); | 133 ~FrameData(); |
| 134 FrameData& operator=(FrameData&& other); | 134 FrameData& operator=(FrameData&& other); |
| 135 CompositorFrame frame; | 135 CompositorFrame frame; |
| 136 DrawCallback draw_callback; | 136 DrawCallback draw_callback; |
| 137 WillDrawCallback will_draw_callback; | 137 WillDrawCallback will_draw_callback; |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 // Called to prevent additional CompositorFrames from being accepted into this |
| 141 // surface. Once a Surface is closed, it cannot accept CompositorFrames again. |
| 142 void Close(); |
| 143 |
| 140 void ActivatePendingFrame(); | 144 void ActivatePendingFrame(); |
| 141 // Called when all of the surface's dependencies have been resolved. | 145 // Called when all of the surface's dependencies have been resolved. |
| 142 void ActivateFrame(FrameData frame_data); | 146 void ActivateFrame(FrameData frame_data); |
| 143 void UpdateBlockingSurfaces(bool has_previous_pending_frame, | 147 void UpdateBlockingSurfaces(bool has_previous_pending_frame, |
| 144 const CompositorFrame& current_frame); | 148 const CompositorFrame& current_frame); |
| 145 | 149 |
| 146 void UnrefFrameResourcesAndRunDrawCallback( | 150 void UnrefFrameResourcesAndRunDrawCallback( |
| 147 base::Optional<FrameData> frame_data); | 151 base::Optional<FrameData> frame_data); |
| 148 void ClearCopyRequests(); | 152 void ClearCopyRequests(); |
| 149 | 153 |
| 150 void TakeLatencyInfoFromPendingFrame( | 154 void TakeLatencyInfoFromPendingFrame( |
| 151 std::vector<ui::LatencyInfo>* latency_info); | 155 std::vector<ui::LatencyInfo>* latency_info); |
| 152 static void TakeLatencyInfoFromFrame( | 156 static void TakeLatencyInfoFromFrame( |
| 153 CompositorFrame* frame, | 157 CompositorFrame* frame, |
| 154 std::vector<ui::LatencyInfo>* latency_info); | 158 std::vector<ui::LatencyInfo>* latency_info); |
| 155 | 159 |
| 156 SurfaceId surface_id_; | 160 const SurfaceId surface_id_; |
| 157 SurfaceId previous_frame_surface_id_; | 161 SurfaceId previous_frame_surface_id_; |
| 158 base::WeakPtr<SurfaceFactory> factory_; | 162 base::WeakPtr<SurfaceFactory> factory_; |
| 159 | 163 |
| 160 base::Optional<FrameData> pending_frame_data_; | 164 base::Optional<FrameData> pending_frame_data_; |
| 161 base::Optional<FrameData> active_frame_data_; | 165 base::Optional<FrameData> active_frame_data_; |
| 162 int frame_index_; | 166 int frame_index_; |
| 167 bool closed_ = false; |
| 163 bool destroyed_; | 168 bool destroyed_; |
| 164 std::vector<SurfaceSequence> destruction_dependencies_; | 169 std::vector<SurfaceSequence> destruction_dependencies_; |
| 165 | 170 |
| 166 SurfaceDependencies blocking_surfaces_; | 171 SurfaceDependencies blocking_surfaces_; |
| 167 base::ObserverList<PendingFrameObserver, true> observers_; | 172 base::ObserverList<PendingFrameObserver, true> observers_; |
| 168 | 173 |
| 169 DISALLOW_COPY_AND_ASSIGN(Surface); | 174 DISALLOW_COPY_AND_ASSIGN(Surface); |
| 170 }; | 175 }; |
| 171 | 176 |
| 172 } // namespace cc | 177 } // namespace cc |
| 173 | 178 |
| 174 #endif // CC_SURFACES_SURFACE_H_ | 179 #endif // CC_SURFACES_SURFACE_H_ |
| OLD | NEW |