Implemented for the next release: https://feedback.objo.dev/feature/352
I've standardised mouse events across base Control, so all visual controls now support:
MouseMove(x As Double, y As Double)
MouseDrag(x As Double, y As Double)
MouseWheel(x As Double, y As Double, deltaX As Double, deltaY As Double)
These join the existing base mouse events: MouseDown, MouseUp, MouseEnter, and MouseExit.
Canvas already had these events, so it now inherits them from Control instead of having a separate implementation. This also means controls such as ScrollBox, Button, Label, ContainerControl, etc. can use the same mouse event names consistently.
I kept the existing event name MouseMove rather than adding MouseMoved, to preserve the current Canvas API. Keyboard events were not changed in this pass, as they need separate consideration around focus and text-input behaviour.