-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Coordinate systems #3891
Copy link
Copy link
Open
Labels
B - bugDang, that shouldn't have happenedDang, that shouldn't have happenedC - needs discussionDirection must be ironed outDirection must be ironed outC - nominatedNominated for discussion in the next meetingNominated for discussion in the next meetingS - apiDesign and usabilityDesign and usability
Milestone
Metadata
Metadata
Assignees
Labels
B - bugDang, that shouldn't have happenedDang, that shouldn't have happenedC - needs discussionDirection must be ironed outDirection must be ironed outC - nominatedNominated for discussion in the next meetingNominated for discussion in the next meetingS - apiDesign and usabilityDesign and usability
While doing #3890, I reviewed all our instances of
[Physical|Logical|]Position, and categorized them relative to their origin point:Desktop coordinates:
MonitorHandle::positionWindowEvent::MovedWindow::outer_position/Window::set_outer_positionWindow coordinates:
Window::surface_positionWindow::set_cursor_positionWindowEvent::Pointer*.position(from Implement the pointer event overhaul #3876) (maybe?)WindowEvent::Drag*.position(from Rework DnD redux #4079) (maybe?)Surface coordinates:
Window::set_ime_cursor_areaWindow::show_window_menuMouseScrollDelta::PixelDeltais a delta, so it has no origin and hence no coordinate system.I believe that we should make
set_cursor_position,WindowEvent::Pointer*.positionandWindowEvent::Drag*.positionuse surface coordinates, since that's the easier coordinate system for users to work with.