- add sources.
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / dri / ozone_platform_dri.h
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.
4
5 #ifndef UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_
6 #define UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_
7
8 #include "ui/events/ozone/evdev/event_factory.h"
9 #include "ui/gfx/ozone/impl/software_surface_factory_ozone.h"
10 #include "ui/ozone/ozone_platform.h"
11
12 namespace ui {
13
14 // OzonePlatform for Linux DRI (Direct Rendering Infrastructure)
15 //
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 {
19  public:
20   OzonePlatformDri();
21   virtual ~OzonePlatformDri();
22
23   virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE;
24   virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE;
25
26  private:
27   gfx::SoftwareSurfaceFactoryOzone surface_factory_ozone_;
28   ui::EventFactoryEvdev event_factory_ozone_;
29
30   DISALLOW_COPY_AND_ASSIGN(OzonePlatformDri);
31 };
32
33 // Constructor hook for use in ozone_platform_list.cc
34 OzonePlatform* CreateOzonePlatformDri();
35
36 }  // namespace ui
37
38 #endif  // UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_