Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2557)

Unified Diff: ash/display/mirror_window_controller.cc

Issue 2648583003: Handle floating point coordinates from ozone to exosphere (Closed)
Patch Set: added F variant to screen position client. fixed exo tests. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ash/display/screen_position_controller.h » ('j') | components/exo/touch.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/display/mirror_window_controller.cc
diff --git a/ash/display/mirror_window_controller.cc b/ash/display/mirror_window_controller.cc
index b0e2d24f58708b56af2c74c3faee2a115031379d..0a21c61617f73d08d4a0251fa4f9ed4d9f49ae25 100644
--- a/ash/display/mirror_window_controller.cc
+++ b/ash/display/mirror_window_controller.cc
@@ -56,8 +56,15 @@ class MirroringScreenPositionClient
void ConvertPointToScreen(const aura::Window* window,
gfx::Point* point) override {
+ gfx::PointF point_f(*point);
+ ConvertPointToScreenF(window, &point_f);
+ *point = gfx::ToFlooredPoint(point_f);
+ }
+
+ void ConvertPointToScreenF(const aura::Window* window,
+ gfx::PointF* point) override {
const aura::Window* root = window->GetRootWindow();
- aura::Window::ConvertPointToTarget(window, root, point);
+ aura::Window::ConvertPointToTargetF(window, root, point);
const display::Display& display =
controller_->GetDisplayForRootWindow(root);
const gfx::Point display_origin = display.bounds().origin();
@@ -66,12 +73,19 @@ class MirroringScreenPositionClient
void ConvertPointFromScreen(const aura::Window* window,
gfx::Point* point) override {
+ gfx::PointF point_f(*point);
+ ConvertPointFromScreenF(window, &point_f);
+ *point = gfx::ToFlooredPoint(point_f);
+ }
+
+ void ConvertPointFromScreenF(const aura::Window* window,
+ gfx::PointF* point) override {
const aura::Window* root = window->GetRootWindow();
const display::Display& display =
controller_->GetDisplayForRootWindow(root);
const gfx::Point display_origin = display.bounds().origin();
point->Offset(-display_origin.x(), -display_origin.y());
- aura::Window::ConvertPointToTarget(root, window, point);
+ aura::Window::ConvertPointToTargetF(root, window, point);
}
void ConvertHostPointToScreen(aura::Window* root_window,
« no previous file with comments | « no previous file | ash/display/screen_position_controller.h » ('j') | components/exo/touch.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698