diff options
Diffstat (limited to 'remoting/host/screen_resolution.h')
-rw-r--r-- | remoting/host/screen_resolution.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/remoting/host/screen_resolution.h b/remoting/host/screen_resolution.h new file mode 100644 index 0000000..d09eb64 --- /dev/null +++ b/remoting/host/screen_resolution.h @@ -0,0 +1,42 @@ +// 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_ |