10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_SNAPSHOT_DRI_H_ 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_SNAPSHOT_DRI_H_ 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "ui/display/types/chromeos/display_snapshot.h" 90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochtypedef struct _drmModeConnector drmModeConnector; 110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochtypedef struct _drmModeCrtc drmModeCrtc; 120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochtypedef struct _drmModeProperty drmModePropertyRes; 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochnamespace ui { 150529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass DriWrapper; 170529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 180529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass DisplaySnapshotDri : public DisplaySnapshot { 190529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch public: 200529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch DisplaySnapshotDri(DriWrapper* drm, 210529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch drmModeConnector* connector, 220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch drmModeCrtc* crtc, 230529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch uint32_t index); 240529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual ~DisplaySnapshotDri(); 250529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // Native properties of a display used by the DRI implementation in 270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // configuring this display. 280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch uint32_t connector() const { return connector_; } 290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch uint32_t crtc() const { return crtc_; } 300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch drmModePropertyRes* dpms_property() const { return dpms_property_; } 310529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 320529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // DisplaySnapshot overrides: 330529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch virtual std::string ToString() const OVERRIDE; 340529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch private: 360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch uint32_t connector_; 370529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch uint32_t crtc_; 380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch drmModePropertyRes* dpms_property_; 390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch std::string name_; 400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch bool overscan_flag_; 410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 420529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch DISALLOW_COPY_AND_ASSIGN(DisplaySnapshotDri); 430529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch}; 440529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 450529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch} // namespace ui 460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 470529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#endif // UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_SNAPSHOT_DRI_H_ 48