123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// found in the LICENSE file. 423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef UI_DISPLAY_TYPES_DISPLAY_MODE_H_ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define UI_DISPLAY_TYPES_DISPLAY_MODE_H_ 723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include <string> 923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "base/macros.h" 11a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ui/display/types/display_types_export.h" 1223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "ui/gfx/geometry/size.h" 1323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)namespace ui { 1523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 1623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// This class represents the basic information for a native mode. Platforms will 1723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)// extend this class to add platform specific information about the mode. 18a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochclass DISPLAY_TYPES_EXPORT DisplayMode { 1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) public: 2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) DisplayMode(const gfx::Size& size, bool interlaced, float refresh_rate); 2123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual ~DisplayMode(); 2223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) const gfx::Size& size() const { return size_; } 2423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) bool is_interlaced() const { return is_interlaced_; } 2523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) float refresh_rate() const { return refresh_rate_; } 2623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual std::string ToString() const; 2823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 2923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) private: 3023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) gfx::Size size_; 3123730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) bool is_interlaced_; 3223730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) float refresh_rate_; 3323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(DisplayMode); 3523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)}; 3623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 3723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)} // namespace ui 3823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // UI_DISPLAY_TYPES_DISPLAY_MODE_H_ 40