| Index: ui/ozone/platform/dri/dri_cursor.cc
|
| diff --git a/ui/ozone/platform/dri/dri_cursor.cc b/ui/ozone/platform/dri/dri_cursor.cc
|
| index 6eedd41a1f5f529a22d0d329b84c32342945436e..1fe97178359048967d77b4a4ccfba061de300c72 100644
|
| --- a/ui/ozone/platform/dri/dri_cursor.cc
|
| +++ b/ui/ozone/platform/dri/dri_cursor.cc
|
| @@ -58,16 +58,20 @@ void DriCursor::MoveCursorTo(gfx::AcceleratedWidget widget,
|
|
|
| cursor_window_ = widget;
|
| cursor_location_ = location;
|
| + cursor_root_location_ = location;
|
|
|
| if (cursor_window_ == gfx::kNullAcceleratedWidget)
|
| return;
|
|
|
| DriWindow* window = window_manager_->GetWindow(cursor_window_);
|
| - const gfx::Size& size = window->GetBounds().size();
|
| + gfx::Rect bounds = window->GetBounds();
|
| + const gfx::Size& size = bounds.size();
|
| cursor_location_.SetToMax(gfx::PointF(0, 0));
|
| // Right and bottom edges are exclusive.
|
| cursor_location_.SetToMin(gfx::PointF(size.width() - 1, size.height() - 1));
|
|
|
| + cursor_root_location_ = cursor_location_ + bounds.OffsetFromOrigin();
|
| +
|
| if (cursor_.get())
|
| hardware_->MoveHardwareCursor(cursor_window_, bitmap_location());
|
| }
|
| @@ -96,10 +100,14 @@ bool DriCursor::IsCursorVisible() {
|
| return cursor_.get();
|
| }
|
|
|
| -gfx::PointF DriCursor::location() {
|
| +gfx::PointF DriCursor::GetLocation() {
|
| return cursor_location_;
|
| }
|
|
|
| +gfx::PointF DriCursor::GetRootLocation() {
|
| + return cursor_root_location_;
|
| +}
|
| +
|
| gfx::Point DriCursor::bitmap_location() {
|
| return gfx::ToFlooredPoint(cursor_location_) -
|
| cursor_->hotspot().OffsetFromOrigin();
|
|
|