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
3 // found in the LICENSE file.
5 #ifndef UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_
6 #define UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_
8 #include "ui/events/ozone/evdev/event_factory_evdev.h"
9 #include "ui/gfx/ozone/dri/dri_surface_factory.h"
10 #include "ui/ozone/ozone_platform.h"
14 // OzonePlatform for Linux DRI (Direct Rendering Infrastructure)
16 // This platform is Linux without any display server (no X, wayland, or
17 // anything). This means chrome alone owns the display and input devices.
18 class OzonePlatformDri : public OzonePlatform {
21 virtual ~OzonePlatformDri();
23 virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE;
24 virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE;
25 virtual ui::InputMethodContextFactoryOzone*
26 GetInputMethodContextFactoryOzone() OVERRIDE;
29 gfx::DriSurfaceFactory surface_factory_ozone_;
30 ui::EventFactoryEvdev event_factory_ozone_;
31 // This creates a minimal input context.
32 ui::InputMethodContextFactoryOzone input_method_context_factory_ozone_;
34 DISALLOW_COPY_AND_ASSIGN(OzonePlatformDri);
37 // Constructor hook for use in ozone_platform_list.cc
38 OzonePlatform* CreateOzonePlatformDri();
42 #endif // UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_