From d6b2b4b144777ed183d1d3e9ed312dac6722a7c8 Mon Sep 17 00:00:00 2001 From: Joshua Marler Date: Thu, 14 Apr 2022 22:30:32 +0000 Subject: [PATCH] views: Fix ConvertPointFromPixel for fractional scaling (fixes issue #3312) --- libcef/browser/views/view_util.cc | 4 ++-- libcef/browser/views/view_util.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libcef/browser/views/view_util.cc b/libcef/browser/views/view_util.cc index 3578fcc9d..55d59ca47 100644 --- a/libcef/browser/views/view_util.cc +++ b/libcef/browser/views/view_util.cc @@ -217,12 +217,12 @@ display::Display GetDisplayMatchingBounds(const gfx::Rect& bounds, return display::Screen::GetScreen()->GetDisplayMatching(find_bounds); } -void ConvertPointFromPixels(gfx::Point* point, int device_scale_factor) { +void ConvertPointFromPixels(gfx::Point* point, float device_scale_factor) { *point = gfx::ToFlooredPoint( gfx::ScalePoint(gfx::PointF(*point), 1.0f / device_scale_factor)); } -void ConvertPointToPixels(gfx::Point* point, int device_scale_factor) { +void ConvertPointToPixels(gfx::Point* point, float device_scale_factor) { *point = gfx::ToFlooredPoint( gfx::ScalePoint(gfx::PointF(*point), device_scale_factor)); } diff --git a/libcef/browser/views/view_util.h b/libcef/browser/views/view_util.h index 1d9080ccd..5502d4ee7 100644 --- a/libcef/browser/views/view_util.h +++ b/libcef/browser/views/view_util.h @@ -84,11 +84,11 @@ display::Display GetDisplayMatchingBounds(const gfx::Rect& bounds, // Convert |point| from pixel coordinates to density independent pixels (DIP) // using |device_scale_factor|. -void ConvertPointFromPixels(gfx::Point* point, int device_scale_factor); +void ConvertPointFromPixels(gfx::Point* point, float device_scale_factor); // Convert |point| to pixel coordinates from density independent pixels (DIP) // using |device_scale_factor|. -void ConvertPointToPixels(gfx::Point* point, int device_scale_factor); +void ConvertPointToPixels(gfx::Point* point, float device_scale_factor); // Convert |point| from |view| to screen coordinates. If |output_pixel_coords| // is true then |point| will be output in pixel coordinates instead of density