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 UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 5 #ifndef UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
6 #define UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 6 #define UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "ui/ozone/ozone_export.h" | 11 #include "ui/ozone/ozone_export.h" |
12 | 12 |
13 namespace gfx { | 13 namespace gfx { |
14 class Rect; | 14 class Rect; |
15 } | 15 } |
16 | 16 |
17 namespace shell { | 17 namespace shell { |
18 class Connector; | 18 class Connector; |
19 class Connection; | 19 class InterfaceRegistry; |
20 } | 20 } |
21 | 21 |
22 namespace ui { | 22 namespace ui { |
23 | 23 |
24 class CursorFactoryOzone; | 24 class CursorFactoryOzone; |
25 class InputController; | 25 class InputController; |
26 class GpuPlatformSupport; | 26 class GpuPlatformSupport; |
27 class GpuPlatformSupportHost; | 27 class GpuPlatformSupportHost; |
28 class NativeDisplayDelegate; | 28 class NativeDisplayDelegate; |
29 class OverlayManagerOzone; | 29 class OverlayManagerOzone; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 virtual ui::GpuPlatformSupportHost* GetGpuPlatformSupportHost() = 0; | 97 virtual ui::GpuPlatformSupportHost* GetGpuPlatformSupportHost() = 0; |
98 virtual std::unique_ptr<SystemInputInjector> CreateSystemInputInjector() = 0; | 98 virtual std::unique_ptr<SystemInputInjector> CreateSystemInputInjector() = 0; |
99 virtual std::unique_ptr<PlatformWindow> CreatePlatformWindow( | 99 virtual std::unique_ptr<PlatformWindow> CreatePlatformWindow( |
100 PlatformWindowDelegate* delegate, | 100 PlatformWindowDelegate* delegate, |
101 const gfx::Rect& bounds) = 0; | 101 const gfx::Rect& bounds) = 0; |
102 virtual std::unique_ptr<ui::NativeDisplayDelegate> | 102 virtual std::unique_ptr<ui::NativeDisplayDelegate> |
103 CreateNativeDisplayDelegate() = 0; | 103 CreateNativeDisplayDelegate() = 0; |
104 | 104 |
105 // Ozone platform implementations may also choose to expose mojo interfaces to | 105 // Ozone platform implementations may also choose to expose mojo interfaces to |
106 // internal functionality. Embedders wishing to take advantage of ozone mojo | 106 // internal functionality. Embedders wishing to take advantage of ozone mojo |
107 // implementations must invoke AddInterfaces with a valid shell::Connection* | 107 // implementations must invoke AddInterfaces with a valid |
108 // pointer to export all Mojo interfaces defined within Ozone. | 108 // shell::InterfaceRegistry* pointer to export all Mojo interfaces defined |
| 109 // within Ozone. |
109 // | 110 // |
110 // A default do-nothing implementation is provided to permit platform | 111 // A default do-nothing implementation is provided to permit platform |
111 // implementations to opt out of implementing any Mojo interfaces. | 112 // implementations to opt out of implementing any Mojo interfaces. |
112 virtual void AddInterfaces(shell::Connection* connection); | 113 virtual void AddInterfaces(shell::InterfaceRegistry* registry); |
113 | 114 |
114 private: | 115 private: |
115 virtual void InitializeUI() = 0; | 116 virtual void InitializeUI() = 0; |
116 virtual void InitializeGPU() = 0; | 117 virtual void InitializeGPU() = 0; |
117 virtual void InitializeUI(const InitParams& args); | 118 virtual void InitializeUI(const InitParams& args); |
118 virtual void InitializeGPU(const InitParams& args); | 119 virtual void InitializeGPU(const InitParams& args); |
119 | 120 |
120 static void CreateInstance(); | 121 static void CreateInstance(); |
121 | 122 |
122 static OzonePlatform* instance_; | 123 static OzonePlatform* instance_; |
123 | 124 |
124 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); | 125 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); |
125 }; | 126 }; |
126 | 127 |
127 } // namespace ui | 128 } // namespace ui |
128 | 129 |
129 #endif // UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 130 #endif // UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
OLD | NEW |