OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 COMPONENTS_EXO_SURFACE_H_ | 5 #ifndef COMPONENTS_EXO_SURFACE_H_ |
6 #define COMPONENTS_EXO_SURFACE_H_ | 6 #define COMPONENTS_EXO_SURFACE_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <memory> | 9 #include <memory> |
10 #include <set> | 10 #include <set> |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
133 // This sets the only visible on secure output flag, preventing it from | 133 // This sets the only visible on secure output flag, preventing it from |
134 // appearing in screenshots or from being viewed on non-secure displays. | 134 // appearing in screenshots or from being viewed on non-secure displays. |
135 void SetOnlyVisibleOnSecureOutput(bool only_visible_on_secure_output); | 135 void SetOnlyVisibleOnSecureOutput(bool only_visible_on_secure_output); |
136 | 136 |
137 // This sets the blend mode that will be used when drawing the surface. | 137 // This sets the blend mode that will be used when drawing the surface. |
138 void SetBlendMode(SkBlendMode blend_mode); | 138 void SetBlendMode(SkBlendMode blend_mode); |
139 | 139 |
140 // This sets the alpha value that will be applied to the whole surface. | 140 // This sets the alpha value that will be applied to the whole surface. |
141 void SetAlpha(float alpha); | 141 void SetAlpha(float alpha); |
142 | 142 |
143 // This sets the device scale factor sent in CompositorFrames. | |
144 void SetDeviceScaleFactor(float device_scale_factor); | |
145 | |
143 // Surface state (damage regions, attached buffers, etc.) is double-buffered. | 146 // Surface state (damage regions, attached buffers, etc.) is double-buffered. |
144 // A Commit() call atomically applies all pending state, replacing the | 147 // A Commit() call atomically applies all pending state, replacing the |
145 // current state. Commit() is not guaranteed to be synchronous. See | 148 // current state. Commit() is not guaranteed to be synchronous. See |
146 // CommitSurfaceHierarchy() below. | 149 // CommitSurfaceHierarchy() below. |
147 void Commit(); | 150 void Commit(); |
148 | 151 |
149 // This will synchronously commit all pending state of the surface and its | 152 // This will synchronously commit all pending state of the surface and its |
150 // descendants by recursively calling CommitSurfaceHierarchy() for each | 153 // descendants by recursively calling CommitSurfaceHierarchy() for each |
151 // sub-surface with pending state. | 154 // sub-surface with pending state. |
152 void CommitSurfaceHierarchy(); | 155 void CommitSurfaceHierarchy(); |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
307 // This is the size of the last committed contents. | 310 // This is the size of the last committed contents. |
308 gfx::Size content_size_; | 311 gfx::Size content_size_; |
309 | 312 |
310 // This is true when Attach() has been called and new contents should take | 313 // This is true when Attach() has been called and new contents should take |
311 // effect next time Commit() is called. | 314 // effect next time Commit() is called. |
312 bool has_pending_contents_ = false; | 315 bool has_pending_contents_ = false; |
313 | 316 |
314 // The buffer that will become the content of surface when Commit() is called. | 317 // The buffer that will become the content of surface when Commit() is called. |
315 BufferAttachment pending_buffer_; | 318 BufferAttachment pending_buffer_; |
316 | 319 |
320 // The device scale factor sent in CompositorFrames. | |
321 float device_scale_factor_ = 1.0f; | |
reveman
2017/04/27 21:01:30
Did you verify that this is updated as the |windio
kylechar
2017/04/28 18:02:16
It gets updated when the ui::Layer with |window_|
reveman
2017/04/28 18:06:49
Sounds good. UpdateSurface calls before delegate i
| |
322 | |
317 const cc::FrameSinkId frame_sink_id_; | 323 const cc::FrameSinkId frame_sink_id_; |
318 cc::LocalSurfaceId local_surface_id_; | 324 cc::LocalSurfaceId local_surface_id_; |
319 | 325 |
320 scoped_refptr<CompositorFrameSinkHolder> compositor_frame_sink_holder_; | 326 scoped_refptr<CompositorFrameSinkHolder> compositor_frame_sink_holder_; |
321 | 327 |
322 cc::LocalSurfaceIdAllocator id_allocator_; | 328 cc::LocalSurfaceIdAllocator id_allocator_; |
323 | 329 |
324 // The next resource id the buffer will be attached to. | 330 // The next resource id the buffer will be attached to. |
325 int next_resource_id_ = 1; | 331 int next_resource_id_ = 1; |
326 | 332 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
399 cc::BeginFrameSource* begin_frame_source_ = nullptr; | 405 cc::BeginFrameSource* begin_frame_source_ = nullptr; |
400 bool needs_begin_frame_ = false; | 406 bool needs_begin_frame_ = false; |
401 cc::BeginFrameAck current_begin_frame_ack_; | 407 cc::BeginFrameAck current_begin_frame_ack_; |
402 | 408 |
403 DISALLOW_COPY_AND_ASSIGN(Surface); | 409 DISALLOW_COPY_AND_ASSIGN(Surface); |
404 }; | 410 }; |
405 | 411 |
406 } // namespace exo | 412 } // namespace exo |
407 | 413 |
408 #endif // COMPONENTS_EXO_SURFACE_H_ | 414 #endif // COMPONENTS_EXO_SURFACE_H_ |
OLD | NEW |