OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_OZONE_PLATFORM_H_ | 5 #ifndef UI_OZONE_OZONE_PLATFORM_H_ |
6 #define UI_OZONE_OZONE_PLATFORM_H_ | 6 #define UI_OZONE_OZONE_PLATFORM_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "ui/ozone/ozone_export.h" | 9 #include "ui/ozone/ozone_export.h" |
10 | 10 |
| 11 // TODO(vignatti): is content layer here alright? |
| 12 namespace content { |
| 13 class VideoDecodeFactoryOzone; |
| 14 } |
| 15 |
11 namespace gfx { | 16 namespace gfx { |
12 class SurfaceFactoryOzone; | 17 class SurfaceFactoryOzone; |
13 } | 18 } |
14 | 19 |
15 namespace ui { | 20 namespace ui { |
16 | 21 |
17 class CursorFactoryOzone; | 22 class CursorFactoryOzone; |
18 class EventFactoryOzone; | 23 class EventFactoryOzone; |
19 class InputMethodContextFactoryOzone; | 24 class InputMethodContextFactoryOzone; |
20 class NativeDisplayDelegate; | 25 class NativeDisplayDelegate; |
(...skipping 19 matching lines...) Expand all Loading... |
40 | 45 |
41 // Initialize the platform. Once complete, SurfaceFactoryOzone & | 46 // Initialize the platform. Once complete, SurfaceFactoryOzone & |
42 // EventFactoryOzone will be set. | 47 // EventFactoryOzone will be set. |
43 static void Initialize(); | 48 static void Initialize(); |
44 | 49 |
45 static OzonePlatform* GetInstance(); | 50 static OzonePlatform* GetInstance(); |
46 | 51 |
47 // Factory getters to override in subclasses. The returned objects will be | 52 // Factory getters to override in subclasses. The returned objects will be |
48 // injected into the appropriate layer at startup. Subclasses should not | 53 // injected into the appropriate layer at startup. Subclasses should not |
49 // inject these objects themselves. Ownership is retained by OzonePlatform. | 54 // inject these objects themselves. Ownership is retained by OzonePlatform. |
| 55 virtual content::VideoDecodeFactoryOzone* |
| 56 GetVideoDecodeFactoryOzone() = 0; |
50 virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() = 0; | 57 virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() = 0; |
51 virtual ui::EventFactoryOzone* GetEventFactoryOzone() = 0; | 58 virtual ui::EventFactoryOzone* GetEventFactoryOzone() = 0; |
52 virtual ui::InputMethodContextFactoryOzone* | 59 virtual ui::InputMethodContextFactoryOzone* |
53 GetInputMethodContextFactoryOzone() = 0; | 60 GetInputMethodContextFactoryOzone() = 0; |
54 virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() = 0; | 61 virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() = 0; |
55 #if defined(OS_CHROMEOS) | 62 #if defined(OS_CHROMEOS) |
56 virtual scoped_ptr<ui::NativeDisplayDelegate> | 63 virtual scoped_ptr<ui::NativeDisplayDelegate> |
57 CreateNativeDisplayDelegate() = 0; | 64 CreateNativeDisplayDelegate() = 0; |
58 #endif | 65 #endif |
59 | 66 |
60 private: | 67 private: |
61 static OzonePlatform* instance_; | 68 static OzonePlatform* instance_; |
62 | 69 |
63 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); | 70 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); |
64 }; | 71 }; |
65 | 72 |
66 } // namespace ui | 73 } // namespace ui |
67 | 74 |
68 #endif // UI_OZONE_OZONE_PLATFORM_H_ | 75 #endif // UI_OZONE_OZONE_PLATFORM_H_ |
OLD | NEW |