Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(709)

Unified Diff: ui/ozone/platform/ozonex/ozone_platform_ozonex.cc

Issue 255823009: [WIP] ui/window: Master CL. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/ozone/platform/ozonex/ozone_platform_ozonex.cc
diff --git a/ui/ozone/platform/ozonex/ozone_platform_ozonex.cc b/ui/ozone/platform/ozonex/ozone_platform_ozonex.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b27e69ffbf32ce6ec8c2d75c75ddea3e674adf78
--- /dev/null
+++ b/ui/ozone/platform/ozonex/ozone_platform_ozonex.cc
@@ -0,0 +1,117 @@
+// 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/platform/ozonex/ozone_platform_ozonex.h"
+
+#include "ui/events/ozone/event_factory_ozone.cc"
+#include "ui/events/platform/x11/x11_event_source.h"
+#include "ui/gfx/ozone/surface_factory_ozone.h"
+#include "ui/gfx/x/x11_types.h"
+#include "ui/display/types/chromeos/native_display_delegate.h"
+
+#include "ui/window/platform_window.h"
+
+namespace ui {
+namespace {
+
+class StubPlatformWindowDelegate : public ui::PlatformWindowDelegate {
+ public:
+ virtual ~StubPlatformWindowDelegate() {}
+
+ virtual void OnBoundsChanged(const gfx::Rect& new_bounds) OVERRIDE {}
+
+ virtual void OnDamageRect(const gfx::Rect& damaged_region) OVERRIDE {}
+
+ virtual void DispatchEvent(ui::Event* event) OVERRIDE {}
+
+ virtual void OnCloseRequest() OVERRIDE {}
+ virtual void OnClosed() OVERRIDE {}
+
+ virtual void OnWindowStateChanged(
+ ui::PlatformWindowState new_state) OVERRIDE {}
+
+ virtual void OnLostCapture() OVERRIDE {}
+};
+
+class XSurfaceFactory : public gfx::SurfaceFactoryOzone {
+ public:
+ virtual HardwareState InitializeHardware() OVERRIDE { return INITIALIZED; }
+
+ virtual void ShutdownHardware() OVERRIDE {}
+
+ virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE { return 1; }
+
+ virtual bool LoadEGLGLES2Bindings(
+ AddGLLibraryCallback add_gl_library,
+ SetGLGetProcAddressProcCallback set_gl_get_proc_address) OVERRIDE {
+ return false;
+ }
+};
+
+class OzonePlatformOzoneX : public OzonePlatform {
+ public:
+ OzonePlatformOzoneX();
+ virtual ~OzonePlatformOzoneX();
+
+ virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE;
+ virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE;
+ virtual ui::InputMethodContextFactoryOzone*
+ GetInputMethodContextFactoryOzone() OVERRIDE;
+ virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE;
+#if defined(OS_CHROMEOS)
+ virtual scoped_ptr<ui::NativeDisplayDelegate> CreateNativeDisplayDelegate()
+ OVERRIDE;
+#endif
+
+ private:
+ scoped_ptr<PlatformEventSource> platform_event_source_;
+ EventFactoryOzone event_factory_;
+ scoped_ptr<PlatformWindow> platform_window_;
+
+ DISALLOW_COPY_AND_ASSIGN(OzonePlatformOzoneX);
+};
+
+OzonePlatformOzoneX::OzonePlatformOzoneX()
+ : platform_event_source_(new X11EventSource(gfx::GetXDisplay())),
+ platform_window_(
+ ui::CreateDefaultPlatformWindow(new StubPlatformWindowDelegate())) {
+ platform_window_->SetBounds(gfx::Rect(100, 200, 600, 800));
+ platform_window_->Show();
+}
+
+OzonePlatformOzoneX::~OzonePlatformOzoneX() {
+}
+
+gfx::SurfaceFactoryOzone* OzonePlatformOzoneX::GetSurfaceFactoryOzone() {
+ return new XSurfaceFactory();
+}
+
+ui::EventFactoryOzone* OzonePlatformOzoneX::GetEventFactoryOzone() {
+ LOG(ERROR) << "HERE";
+ return &event_factory_;
+}
+
+ui::InputMethodContextFactoryOzone*
+OzonePlatformOzoneX::GetInputMethodContextFactoryOzone() {
+ return NULL;
+}
+
+ui::CursorFactoryOzone* OzonePlatformOzoneX::GetCursorFactoryOzone() {
+ return NULL;
+}
+
+#if defined(OS_CHROMEOS)
+scoped_ptr<ui::NativeDisplayDelegate>
+OzonePlatformOzoneX::CreateNativeDisplayDelegate() {
+ return scoped_ptr<ui::NativeDisplayDelegate>();
+}
+#endif
+
+} // namespace
+
+OzonePlatform* CreateOzonePlatformOzonex() {
+ return new OzonePlatformOzoneX();
+}
+
+} // namespace ui

Powered by Google App Engine
This is Rietveld 408576698