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_DISPLAY_H_ | 5 #ifndef COMPONENTS_EXO_DISPLAY_H_ |
6 #define COMPONENTS_EXO_DISPLAY_H_ | 6 #define COMPONENTS_EXO_DISPLAY_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 13 matching lines...) Expand all Loading... |
24 class Point; | 24 class Point; |
25 } | 25 } |
26 | 26 |
27 namespace exo { | 27 namespace exo { |
28 class NotificationSurface; | 28 class NotificationSurface; |
29 class NotificationSurfaceManager; | 29 class NotificationSurfaceManager; |
30 class SharedMemory; | 30 class SharedMemory; |
31 class ShellSurface; | 31 class ShellSurface; |
32 class SubSurface; | 32 class SubSurface; |
33 class Surface; | 33 class Surface; |
| 34 class WMHelper; |
34 | 35 |
35 #if defined(USE_OZONE) | 36 #if defined(USE_OZONE) |
36 class Buffer; | 37 class Buffer; |
37 #endif | 38 #endif |
38 | 39 |
39 // The core display class. This class provides functions for creating surfaces | 40 // The core display class. This class provides functions for creating surfaces |
40 // and is in charge of combining the contents of multiple surfaces into one | 41 // and is in charge of combining the contents of multiple surfaces into one |
41 // displayable output. | 42 // displayable output. |
42 class Display { | 43 class Display { |
43 public: | 44 public: |
44 Display(); | 45 Display(); |
45 explicit Display(NotificationSurfaceManager* notification_surface_manager); | 46 Display(bool using_mus, |
| 47 NotificationSurfaceManager* notification_surface_manager); |
46 ~Display(); | 48 ~Display(); |
47 | 49 |
48 // Creates a new surface. | 50 // Creates a new surface. |
49 std::unique_ptr<Surface> CreateSurface(); | 51 std::unique_ptr<Surface> CreateSurface(); |
50 | 52 |
51 // Creates a shared memory segment from |handle| of |size| with the | 53 // Creates a shared memory segment from |handle| of |size| with the |
52 // given |id|. This function takes ownership of |handle|. | 54 // given |id|. This function takes ownership of |handle|. |
53 std::unique_ptr<SharedMemory> CreateSharedMemory( | 55 std::unique_ptr<SharedMemory> CreateSharedMemory( |
54 const base::SharedMemoryHandle& handle, | 56 const base::SharedMemoryHandle& handle, |
55 size_t size); | 57 size_t size); |
(...skipping 25 matching lines...) Expand all Loading... |
81 // a child of |parent|. | 83 // a child of |parent|. |
82 std::unique_ptr<SubSurface> CreateSubSurface(Surface* surface, | 84 std::unique_ptr<SubSurface> CreateSubSurface(Surface* surface, |
83 Surface* parent); | 85 Surface* parent); |
84 | 86 |
85 // Creates a notification surface for a surface and notification id. | 87 // Creates a notification surface for a surface and notification id. |
86 std::unique_ptr<NotificationSurface> CreateNotificationSurface( | 88 std::unique_ptr<NotificationSurface> CreateNotificationSurface( |
87 Surface* surface, | 89 Surface* surface, |
88 const std::string& notification_id); | 90 const std::string& notification_id); |
89 | 91 |
90 private: | 92 private: |
| 93 std::unique_ptr<WMHelper> wm_helper_; |
91 NotificationSurfaceManager* const notification_surface_manager_; | 94 NotificationSurfaceManager* const notification_surface_manager_; |
92 | 95 |
93 DISALLOW_COPY_AND_ASSIGN(Display); | 96 DISALLOW_COPY_AND_ASSIGN(Display); |
94 }; | 97 }; |
95 | 98 |
96 } // namespace exo | 99 } // namespace exo |
97 | 100 |
98 #endif // COMPONENTS_EXO_DISPLAY_H_ | 101 #endif // COMPONENTS_EXO_DISPLAY_H_ |
OLD | NEW |