// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_HOST_SCREEN_RESOLUTION_H_ #define REMOTING_HOST_SCREEN_RESOLUTION_H_ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "third_party/skia/include/core/SkPoint.h" #include "third_party/skia/include/core/SkSize.h" namespace remoting { // Describes a screen's dimensions and DPI. class ScreenResolution { public: ScreenResolution(); ScreenResolution(const SkISize& dimensions, const SkIPoint& dpi); // Returns the screen dimensions scaled according to the passed |new_dpi|. SkISize ScaleDimensionsToDpi(const SkIPoint& new_dpi) const; // Returns true if |dimensions_| specifies an empty rectangle or when // IsValid() returns false. bool IsEmpty() const; // Returns true if both |dimensions_| and |dpi_| are valid. |dimensions_| // specifying an empty rectangle is considered to be valid. bool IsValid() const; // Dimensions of the screen in pixels. SkISize dimensions_; // The vertical and horizontal DPI of the screen. SkIPoint dpi_; }; } // namespace remoting #endif // REMOTING_HOST_SCREEN_RESOLUTION_H_