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> |
11 #include <utility> | 11 #include <utility> |
12 | 12 |
13 #include "base/callback.h" | 13 #include "base/callback.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
17 #include "base/observer_list.h" | 17 #include "base/observer_list.h" |
18 #include "cc/resources/transferable_resource.h" | 18 #include "cc/resources/transferable_resource.h" |
19 #include "cc/scheduler/begin_frame_source.h" | 19 #include "cc/scheduler/begin_frame_source.h" |
20 #include "cc/surfaces/surface_id_allocator.h" | 20 #include "cc/surfaces/local_surface_id_allocator.h" |
21 #include "components/exo/compositor_frame_sink.h" | 21 #include "components/exo/compositor_frame_sink.h" |
22 #include "components/exo/compositor_frame_sink_holder.h" | 22 #include "components/exo/compositor_frame_sink_holder.h" |
23 #include "third_party/skia/include/core/SkBlendMode.h" | 23 #include "third_party/skia/include/core/SkBlendMode.h" |
24 #include "third_party/skia/include/core/SkRegion.h" | 24 #include "third_party/skia/include/core/SkRegion.h" |
25 #include "ui/aura/window.h" | 25 #include "ui/aura/window.h" |
26 #include "ui/aura/window_observer.h" | 26 #include "ui/aura/window_observer.h" |
27 #include "ui/compositor/compositor_vsync_manager.h" | 27 #include "ui/compositor/compositor_vsync_manager.h" |
28 #include "ui/gfx/geometry/rect.h" | 28 #include "ui/gfx/geometry/rect.h" |
29 #include "ui/gfx/native_widget_types.h" | 29 #include "ui/gfx/native_widget_types.h" |
30 | 30 |
31 namespace base { | 31 namespace base { |
32 namespace trace_event { | 32 namespace trace_event { |
33 class TracedValue; | 33 class TracedValue; |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
37 namespace cc { | 37 namespace cc { |
38 class SurfaceIdAllocator; | 38 class LocalSurfaceIdAllocator; |
39 } | 39 } |
40 | 40 |
41 namespace gfx { | 41 namespace gfx { |
42 class Path; | 42 class Path; |
43 } | 43 } |
44 | 44 |
45 namespace exo { | 45 namespace exo { |
46 class Buffer; | 46 class Buffer; |
47 class Pointer; | 47 class Pointer; |
48 class SurfaceDelegate; | 48 class SurfaceDelegate; |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 bool has_pending_contents_ = false; | 306 bool has_pending_contents_ = false; |
307 | 307 |
308 // The buffer that will become the content of surface when Commit() is called. | 308 // The buffer that will become the content of surface when Commit() is called. |
309 BufferAttachment pending_buffer_; | 309 BufferAttachment pending_buffer_; |
310 | 310 |
311 const cc::FrameSinkId frame_sink_id_; | 311 const cc::FrameSinkId frame_sink_id_; |
312 cc::LocalSurfaceId local_surface_id_; | 312 cc::LocalSurfaceId local_surface_id_; |
313 | 313 |
314 scoped_refptr<CompositorFrameSinkHolder> compositor_frame_sink_holder_; | 314 scoped_refptr<CompositorFrameSinkHolder> compositor_frame_sink_holder_; |
315 | 315 |
316 cc::SurfaceIdAllocator id_allocator_; | 316 cc::LocalSurfaceIdAllocator id_allocator_; |
317 | 317 |
318 // The next resource id the buffer will be attached to. | 318 // The next resource id the buffer will be attached to. |
319 int next_resource_id_ = 1; | 319 int next_resource_id_ = 1; |
320 | 320 |
321 // The damage region to schedule paint for when Commit() is called. | 321 // The damage region to schedule paint for when Commit() is called. |
322 SkRegion pending_damage_; | 322 SkRegion pending_damage_; |
323 | 323 |
324 // These lists contains the callbacks to notify the client when it is a good | 324 // These lists contains the callbacks to notify the client when it is a good |
325 // time to start producing a new frame. These callbacks move to | 325 // time to start producing a new frame. These callbacks move to |
326 // |frame_callbacks_| when Commit() is called. Later they are moved to | 326 // |frame_callbacks_| when Commit() is called. Later they are moved to |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 // ui::Layer::SetShowSurface because the layer needs to know how to add | 388 // ui::Layer::SetShowSurface because the layer needs to know how to add |
389 // references to surfaces. | 389 // references to surfaces. |
390 scoped_refptr<cc::SurfaceReferenceFactory> surface_reference_factory_; | 390 scoped_refptr<cc::SurfaceReferenceFactory> surface_reference_factory_; |
391 | 391 |
392 DISALLOW_COPY_AND_ASSIGN(Surface); | 392 DISALLOW_COPY_AND_ASSIGN(Surface); |
393 }; | 393 }; |
394 | 394 |
395 } // namespace exo | 395 } // namespace exo |
396 | 396 |
397 #endif // COMPONENTS_EXO_SURFACE_H_ | 397 #endif // COMPONENTS_EXO_SURFACE_H_ |
OLD | NEW |