diff options
Diffstat (limited to 'ui/ozone')
-rw-r--r-- | ui/ozone/DEPS | 1 | ||||
-rw-r--r-- | ui/ozone/common/chromeos/native_display_delegate_ozone.cc | 95 | ||||
-rw-r--r-- | ui/ozone/common/chromeos/native_display_delegate_ozone.h | 51 | ||||
-rw-r--r-- | ui/ozone/ozone.gyp | 10 | ||||
-rw-r--r-- | ui/ozone/ozone_platform.cc | 6 | ||||
-rw-r--r-- | ui/ozone/ozone_platform.h | 7 | ||||
-rw-r--r-- | ui/ozone/platform/caca/ozone_platform_caca.cc | 12 | ||||
-rw-r--r-- | ui/ozone/platform/caca/ozone_platform_caca.h | 4 | ||||
-rw-r--r-- | ui/ozone/platform/dri/ozone_platform_dri.cc | 12 | ||||
-rw-r--r-- | ui/ozone/platform/dri/ozone_platform_dri.h | 4 | ||||
-rw-r--r-- | ui/ozone/platform/test/ozone_platform_test.cc | 13 | ||||
-rw-r--r-- | ui/ozone/platform/test/ozone_platform_test.h | 4 |
12 files changed, 219 insertions, 0 deletions
diff --git a/ui/ozone/DEPS b/ui/ozone/DEPS index 1c20697..7346019 100644 --- a/ui/ozone/DEPS +++ b/ui/ozone/DEPS @@ -1,4 +1,5 @@ include_rules = [ + "+ui/display/types", "+ui/events", "+ui/gfx", "+ui/base/cursor", diff --git a/ui/ozone/common/chromeos/native_display_delegate_ozone.cc b/ui/ozone/common/chromeos/native_display_delegate_ozone.cc new file mode 100644 index 0000000..2efc18d --- /dev/null +++ b/ui/ozone/common/chromeos/native_display_delegate_ozone.cc @@ -0,0 +1,95 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h" + +#include "base/logging.h" + +namespace ui { + +NativeDisplayDelegateOzone::NativeDisplayDelegateOzone() {} + +NativeDisplayDelegateOzone::~NativeDisplayDelegateOzone() {} + +void NativeDisplayDelegateOzone::Initialize() { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::GrabServer() { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::UngrabServer() { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::SyncWithServer() { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::SetBackgroundColor(uint32_t color_argb) { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::ForceDPMSOn() { + NOTIMPLEMENTED(); +} + +std::vector<ui::DisplaySnapshot*> NativeDisplayDelegateOzone::GetDisplays() { + NOTIMPLEMENTED(); + return std::vector<ui::DisplaySnapshot*>(); +} + +void NativeDisplayDelegateOzone::AddMode(const ui::DisplaySnapshot& output, + const ui::DisplayMode* mode) { + NOTIMPLEMENTED(); +} + +bool NativeDisplayDelegateOzone::Configure(const ui::DisplaySnapshot& output, + const ui::DisplayMode* mode, + const gfx::Point& origin) { + NOTIMPLEMENTED(); + return false; +} + +void NativeDisplayDelegateOzone::CreateFrameBuffer(const gfx::Size& size) { + NOTIMPLEMENTED(); +} + +bool NativeDisplayDelegateOzone::GetHDCPState(const ui::DisplaySnapshot& output, + ui::HDCPState* state) { + NOTIMPLEMENTED(); + return false; +} + +bool NativeDisplayDelegateOzone::SetHDCPState(const ui::DisplaySnapshot& output, + ui::HDCPState state) { + NOTIMPLEMENTED(); + return false; +} + +std::vector<ui::ColorCalibrationProfile> +NativeDisplayDelegateOzone::GetAvailableColorCalibrationProfiles( + const ui::DisplaySnapshot& output) { + NOTIMPLEMENTED(); + return std::vector<ui::ColorCalibrationProfile>(); +} + +bool NativeDisplayDelegateOzone::SetColorCalibrationProfile( + const ui::DisplaySnapshot& output, + ui::ColorCalibrationProfile new_profile) { + NOTIMPLEMENTED(); + return false; +} + +void NativeDisplayDelegateOzone::AddObserver(NativeDisplayObserver* observer) { + NOTIMPLEMENTED(); +} + +void NativeDisplayDelegateOzone::RemoveObserver( + NativeDisplayObserver* observer) { + NOTIMPLEMENTED(); +} + +} // namespace ui diff --git a/ui/ozone/common/chromeos/native_display_delegate_ozone.h b/ui/ozone/common/chromeos/native_display_delegate_ozone.h new file mode 100644 index 0000000..cb61bd7 --- /dev/null +++ b/ui/ozone/common/chromeos/native_display_delegate_ozone.h @@ -0,0 +1,51 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_ +#define UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_ + +#include "base/macros.h" +#include "ui/display/types/chromeos/native_display_delegate.h" + +namespace ui { + +class NativeDisplayDelegateOzone : public NativeDisplayDelegate { + public: + NativeDisplayDelegateOzone(); + virtual ~NativeDisplayDelegateOzone(); + + // NativeDisplayDelegate overrides: + virtual void Initialize() OVERRIDE; + virtual void GrabServer() OVERRIDE; + virtual void UngrabServer() OVERRIDE; + virtual void SyncWithServer() OVERRIDE; + virtual void SetBackgroundColor(uint32_t color_argb) OVERRIDE; + virtual void ForceDPMSOn() OVERRIDE; + virtual std::vector<ui::DisplaySnapshot*> GetDisplays() OVERRIDE; + virtual void AddMode(const ui::DisplaySnapshot& output, + const ui::DisplayMode* mode) OVERRIDE; + virtual bool Configure(const ui::DisplaySnapshot& output, + const ui::DisplayMode* mode, + const gfx::Point& origin) OVERRIDE; + virtual void CreateFrameBuffer(const gfx::Size& size) OVERRIDE; + virtual bool GetHDCPState(const ui::DisplaySnapshot& output, + ui::HDCPState* state) OVERRIDE; + virtual bool SetHDCPState(const ui::DisplaySnapshot& output, + ui::HDCPState state) OVERRIDE; + virtual std::vector<ui::ColorCalibrationProfile> + GetAvailableColorCalibrationProfiles( + const ui::DisplaySnapshot& output) OVERRIDE; + virtual bool SetColorCalibrationProfile( + const ui::DisplaySnapshot& output, + ui::ColorCalibrationProfile new_profile) OVERRIDE; + virtual void AddObserver(NativeDisplayObserver* observer) OVERRIDE; + virtual void RemoveObserver(NativeDisplayObserver* observer) OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(NativeDisplayDelegateOzone); +}; + +} // namespace ui + +#endif // UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_ diff --git a/ui/ozone/ozone.gyp b/ui/ozone/ozone.gyp index 99de5b4..0dfb9c7 100644 --- a/ui/ozone/ozone.gyp +++ b/ui/ozone/ozone.gyp @@ -32,6 +32,11 @@ }, 'sources': [ '<(platform_list_file)', + # common/chromeos files are excluded automatically when building with + # chromeos=0, by exclusion rules in filename_rules.gypi due to the + # 'chromeos' folder name. + 'common/chromeos/native_display_delegate_ozone.cc', + 'common/chromeos/native_display_delegate_ozone.h', 'ozone_platform.cc', 'ozone_platform.h', 'ozone_switches.cc', @@ -92,6 +97,11 @@ ['exclude', '^platform/test/'], ] }], + ['chromeos==1', { + 'dependencies': [ + '<(DEPTH)/ui/display/display.gyp:display_types', + ], + }], ] }, ], diff --git a/ui/ozone/ozone_platform.cc b/ui/ozone/ozone_platform.cc index 53016cd..feb36ba 100644 --- a/ui/ozone/ozone_platform.cc +++ b/ui/ozone/ozone_platform.cc @@ -65,6 +65,12 @@ void OzonePlatform::Initialize() { } // static +OzonePlatform* OzonePlatform::GetInstance() { + CHECK(instance_) << "OzonePlatform is not initialized"; + return instance_; +} + +// static OzonePlatform* OzonePlatform::instance_; } // namespace ui diff --git a/ui/ozone/ozone_platform.h b/ui/ozone/ozone_platform.h index 61cd9ef..e87f422 100644 --- a/ui/ozone/ozone_platform.h +++ b/ui/ozone/ozone_platform.h @@ -14,6 +14,7 @@ namespace ui { class CursorFactoryOzone; +class NativeDisplayDelegate; // Base class for Ozone platform implementations. // @@ -38,6 +39,8 @@ class OZONE_EXPORT OzonePlatform { // EventFactoryOzone will be set. static void Initialize(); + static OzonePlatform* GetInstance(); + // Factory getters to override in subclasses. The returned objects will be // injected into the appropriate layer at startup. Subclasses should not // inject these objects themselves. Ownership is retained by OzonePlatform. @@ -46,6 +49,10 @@ class OZONE_EXPORT OzonePlatform { virtual ui::InputMethodContextFactoryOzone* GetInputMethodContextFactoryOzone() = 0; virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() = 0; +#if defined(OS_CHROMEOS) + virtual scoped_ptr<ui::NativeDisplayDelegate> + CreateNativeDisplayDelegate() = 0; +#endif private: static OzonePlatform* instance_; diff --git a/ui/ozone/platform/caca/ozone_platform_caca.cc b/ui/ozone/platform/caca/ozone_platform_caca.cc index dfe67ac..6a35c6b 100644 --- a/ui/ozone/platform/caca/ozone_platform_caca.cc +++ b/ui/ozone/platform/caca/ozone_platform_caca.cc @@ -7,6 +7,10 @@ #include "ui/ozone/ozone_platform.h" #include "ui/ozone/platform/caca/caca_connection.h" +#if defined(OS_CHROMEOS) +#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h" +#endif + namespace ui { OzonePlatformCaca::OzonePlatformCaca() @@ -33,6 +37,14 @@ ui::CursorFactoryOzone* OzonePlatformCaca::GetCursorFactoryOzone() { return &cursor_factory_ozone_; } +#if defined(OS_CHROMEOS) +scoped_ptr<ui::NativeDisplayDelegate> +OzonePlatformCaca::CreateNativeDisplayDelegate() { + return scoped_ptr<ui::NativeDisplayDelegate>( + new NativeDisplayDelegateOzone()); +} +#endif + OzonePlatform* CreateOzonePlatformCaca() { return new OzonePlatformCaca; } } // namespace ui diff --git a/ui/ozone/platform/caca/ozone_platform_caca.h b/ui/ozone/platform/caca/ozone_platform_caca.h index fd14c5e..f25b947 100644 --- a/ui/ozone/platform/caca/ozone_platform_caca.h +++ b/ui/ozone/platform/caca/ozone_platform_caca.h @@ -26,6 +26,10 @@ class OzonePlatformCaca : public OzonePlatform { virtual ui::InputMethodContextFactoryOzone* GetInputMethodContextFactoryOzone() OVERRIDE; virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE; +#if defined(OS_CHROMEOS) + virtual scoped_ptr<ui::NativeDisplayDelegate> + CreateNativeDisplayDelegate() OVERRIDE; +#endif private: ui::CacaConnection connection_; diff --git a/ui/ozone/platform/dri/ozone_platform_dri.cc b/ui/ozone/platform/dri/ozone_platform_dri.cc index ce5587b..8175a1d 100644 --- a/ui/ozone/platform/dri/ozone_platform_dri.cc +++ b/ui/ozone/platform/dri/ozone_platform_dri.cc @@ -7,6 +7,10 @@ #include "ui/events/ozone/evdev/cursor_delegate_evdev.h" #include "ui/ozone/ozone_platform.h" +#if defined(OS_CHROMEOS) +#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h" +#endif + namespace ui { OzonePlatformDri::OzonePlatformDri() @@ -32,6 +36,14 @@ ui::CursorFactoryOzone* OzonePlatformDri::GetCursorFactoryOzone() { return &cursor_factory_ozone_; } +#if defined(OS_CHROMEOS) +scoped_ptr<ui::NativeDisplayDelegate> +OzonePlatformDri::CreateNativeDisplayDelegate() { + return scoped_ptr<ui::NativeDisplayDelegate>( + new NativeDisplayDelegateOzone()); +} +#endif + OzonePlatform* CreateOzonePlatformDri() { return new OzonePlatformDri; } } // namespace ui diff --git a/ui/ozone/platform/dri/ozone_platform_dri.h b/ui/ozone/platform/dri/ozone_platform_dri.h index 0ee8650..dff706b 100644 --- a/ui/ozone/platform/dri/ozone_platform_dri.h +++ b/ui/ozone/platform/dri/ozone_platform_dri.h @@ -26,6 +26,10 @@ class OzonePlatformDri : public OzonePlatform { virtual ui::InputMethodContextFactoryOzone* GetInputMethodContextFactoryOzone() OVERRIDE; virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE; +#if defined(OS_CHROMEOS) + virtual scoped_ptr<ui::NativeDisplayDelegate> + CreateNativeDisplayDelegate() OVERRIDE; +#endif private: gfx::DriSurfaceFactory surface_factory_ozone_; diff --git a/ui/ozone/platform/test/ozone_platform_test.cc b/ui/ozone/platform/test/ozone_platform_test.cc index 6428c79..2a84895 100644 --- a/ui/ozone/platform/test/ozone_platform_test.cc +++ b/ui/ozone/platform/test/ozone_platform_test.cc @@ -9,6 +9,10 @@ #include "ui/ozone/ozone_platform.h" #include "ui/ozone/ozone_switches.h" +#if defined(OS_CHROMEOS) +#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h" +#endif + namespace ui { OzonePlatformTest::OzonePlatformTest(const base::FilePath& dump_file) @@ -33,6 +37,15 @@ ui::CursorFactoryOzone* OzonePlatformTest::GetCursorFactoryOzone() { return &cursor_factory_ozone_; } +#if defined(OS_CHROMEOS) +scoped_ptr<ui::NativeDisplayDelegate> +OzonePlatformTest::CreateNativeDisplayDelegate() { + return scoped_ptr<ui::NativeDisplayDelegate>( + new NativeDisplayDelegateOzone()); + return scoped_ptr<ui::NativeDisplayDelegate>(); +} +#endif + OzonePlatform* CreateOzonePlatformTest() { CommandLine* cmd = CommandLine::ForCurrentProcess(); base::FilePath location = base::FilePath("/dev/null"); diff --git a/ui/ozone/platform/test/ozone_platform_test.h b/ui/ozone/platform/test/ozone_platform_test.h index 633490d..1f6a964 100644 --- a/ui/ozone/platform/test/ozone_platform_test.h +++ b/ui/ozone/platform/test/ozone_platform_test.h @@ -26,6 +26,10 @@ class OzonePlatformTest : public OzonePlatform { virtual ui::InputMethodContextFactoryOzone* GetInputMethodContextFactoryOzone() OVERRIDE; virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE; +#if defined(OS_CHROMEOS) + virtual scoped_ptr<ui::NativeDisplayDelegate> + CreateNativeDisplayDelegate() OVERRIDE; +#endif private: gfx::FileSurfaceFactory surface_factory_ozone_; |