1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef OZONE_PLATFORM_OZONE_PLATFORM_WAYLAND_H_
6 #define OZONE_PLATFORM_OZONE_PLATFORM_WAYLAND_H_
8 #include "ozone/impl/desktop_factory_wayland.h"
9 #include "ozone/impl/ozone_display.h"
10 #include "ozone/impl/surface_factory_wayland.h"
11 #include "ozone/platform/ozone_export_wayland.h"
12 #include "ozone/ui/ime/input_method_context_factory_wayland.h"
13 #include "ui/events/ozone/event_factory_ozone.h"
14 #include "ui/ozone/ozone_platform.h"
18 // OzonePlatform for Wayland
20 // This platform is Linux with the wayland display server.
21 class OzonePlatformWayland : public OzonePlatform {
23 OzonePlatformWayland();
24 virtual ~OzonePlatformWayland();
26 virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE;
27 virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE;
28 virtual ui::InputMethodContextFactoryOzone*
29 GetInputMethodContextFactoryOzone() OVERRIDE;
32 ozonewayland::OzoneDisplay display_;
33 ozonewayland::SurfaceFactoryWayland surface_factory_ozone_;
35 // TODO(kalyan): Use EventFactoryOzone. This is a stub that does nothing.
36 ui::EventFactoryOzone event_factory_ozone_;
38 ozonewayland::InputMethodContextFactoryWayland input_method_context_factory_;
40 #if defined(TOOLKIT_VIEWS) && !defined(OS_CHROMEOS)
41 views::DesktopFactoryWayland desktop_factory_ozone_;
44 DISALLOW_COPY_AND_ASSIGN(OzonePlatformWayland);
47 // Constructor hook for use in ozone_platform_list.cc
48 OZONE_WAYLAND_EXPORT OzonePlatform* CreateOzonePlatformWayland();
52 #endif // OZONE_PLATFORM_OZONE_PLATFORM_WAYLAND_H_