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/dri/dri_surface_factory.h" 10#include "ui/ozone/ozone_platform.h" 11 12namespace 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. 18class 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::DriSurfaceFactory 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 34OzonePlatform* CreateOzonePlatformDri(); 35 36} // namespace ui 37 38#endif // UI_OZONE_PLATFORM_DRI_OZONE_PLATFORM_DRI_H_ 39