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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 const base::flat_set<SurfaceId>& blocking_surfaces() const { | 120 const base::flat_set<SurfaceId>& blocking_surfaces() const { |
121 return blocking_surfaces_; | 121 return blocking_surfaces_; |
122 } | 122 } |
123 | 123 |
124 bool HasActiveFrame() const { return active_frame_data_.has_value(); } | 124 bool HasActiveFrame() const { return active_frame_data_.has_value(); } |
125 bool HasPendingFrame() const { return pending_frame_data_.has_value(); } | 125 bool HasPendingFrame() const { return pending_frame_data_.has_value(); } |
126 bool HasUndrawnActiveFrame() const { | 126 bool HasUndrawnActiveFrame() const { |
127 return HasActiveFrame() && active_frame_data_->draw_callback; | 127 return HasActiveFrame() && active_frame_data_->draw_callback; |
128 } | 128 } |
129 | 129 |
130 bool destroyed() const { return destroyed_; } | |
131 void set_destroyed(bool destroyed) { destroyed_ = destroyed; } | |
132 | |
133 private: | 130 private: |
134 struct FrameData { | 131 struct FrameData { |
135 FrameData(CompositorFrame&& frame, | 132 FrameData(CompositorFrame&& frame, |
136 const base::Closure& draw_callback, | 133 const base::Closure& draw_callback, |
137 const WillDrawCallback& will_draw_callback); | 134 const WillDrawCallback& will_draw_callback); |
138 FrameData(FrameData&& other); | 135 FrameData(FrameData&& other); |
139 ~FrameData(); | 136 ~FrameData(); |
140 FrameData& operator=(FrameData&& other); | 137 FrameData& operator=(FrameData&& other); |
141 CompositorFrame frame; | 138 CompositorFrame frame; |
142 base::Closure draw_callback; | 139 base::Closure draw_callback; |
(...skipping 22 matching lines...) Expand all Loading... |
165 | 162 |
166 SurfaceInfo surface_info_; | 163 SurfaceInfo surface_info_; |
167 SurfaceId previous_frame_surface_id_; | 164 SurfaceId previous_frame_surface_id_; |
168 base::WeakPtr<CompositorFrameSinkSupport> compositor_frame_sink_support_; | 165 base::WeakPtr<CompositorFrameSinkSupport> compositor_frame_sink_support_; |
169 SurfaceManager* const surface_manager_; | 166 SurfaceManager* const surface_manager_; |
170 | 167 |
171 base::Optional<FrameData> pending_frame_data_; | 168 base::Optional<FrameData> pending_frame_data_; |
172 base::Optional<FrameData> active_frame_data_; | 169 base::Optional<FrameData> active_frame_data_; |
173 int frame_index_; | 170 int frame_index_; |
174 bool closed_ = false; | 171 bool closed_ = false; |
175 bool destroyed_; | |
176 std::vector<SurfaceSequence> destruction_dependencies_; | 172 std::vector<SurfaceSequence> destruction_dependencies_; |
177 | 173 |
178 base::flat_set<SurfaceId> blocking_surfaces_; | 174 base::flat_set<SurfaceId> blocking_surfaces_; |
179 | 175 |
180 DISALLOW_COPY_AND_ASSIGN(Surface); | 176 DISALLOW_COPY_AND_ASSIGN(Surface); |
181 }; | 177 }; |
182 | 178 |
183 } // namespace cc | 179 } // namespace cc |
184 | 180 |
185 #endif // CC_SURFACES_SURFACE_H_ | 181 #endif // CC_SURFACES_SURFACE_H_ |
OLD | NEW |