1// Copyright (c) 2012 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 CONTENT_BROWSER_RENDERER_HOST_DIP_UTIL_H_ 6#define CONTENT_BROWSER_RENDERER_HOST_DIP_UTIL_H_ 7 8#include "content/common/content_export.h" 9 10namespace gfx { 11class Point; 12class Rect; 13class Size; 14} // namespace gfx 15 16namespace content { 17class RenderWidgetHostView; 18 19// Returns scale factor of the display nearest to |view|. 20// Returns 1.0f if the platform does not support DIP. 21CONTENT_EXPORT float GetScaleFactorForView(const RenderWidgetHostView* view); 22 23// Utility functions that convert point/size/rect between DIP and pixel 24// coordinate system. 25CONTENT_EXPORT gfx::Point ConvertViewPointToDIP( 26 const RenderWidgetHostView* view, const gfx::Point& point_in_pixel); 27CONTENT_EXPORT gfx::Size ConvertViewSizeToPixel( 28 const RenderWidgetHostView* view, const gfx::Size& size_in_dip); 29CONTENT_EXPORT gfx::Rect ConvertViewRectToPixel( 30 const RenderWidgetHostView* view, const gfx::Rect& rect_in_dip); 31 32CONTENT_EXPORT gfx::Size ConvertSizeToDIP( 33 float scale_factor, const gfx::Size& size_in_pixel); 34CONTENT_EXPORT gfx::Rect ConvertRectToDIP( 35 float scale_factor, const gfx::Rect& rect_in_pixel); 36CONTENT_EXPORT gfx::Size ConvertSizeToPixel( 37 float scale_factor, const gfx::Size& size_in_pixel); 38CONTENT_EXPORT gfx::Rect ConvertRectToPixel( 39 float scale_factor, const gfx::Rect& rect_in_dip); 40 41} // namespace content 42 43#endif // CONTENT_BROWSER_RENDERER_HOST_DIP_UTIL_H_ 44