- This doesn't cause much issue, since only once you open it does the iPad treat long presses ANYWHERE as selecting the text.
- This will be important for bug reports.
I'm giving up on this for now I think. It's good enough.
Reloading for changing the language is a very infrequent action,
and reloading for development is frequent but I can live with it.
Detecting fullscreen is NOT what I want to be working on.
I have a better idea already. This doesn't work with the dev server auto-reload, and is not ideal UX, just saving some time/confusion assuming you're going to go back into fullscreen, and aren't equally confused by it exiting fullscreen.
The mode is nice for having big controls and a floating undo button,
I should really separate the options for coarse input optimized UI (large buttons) and dwell clicking (for hands-free usage).
I should probably bite the bullet and make a settings screen.
This happened once with Eraser on iPad (maybe while testing pinch zooming?)
Presumably the mask_canvas was not existing in some case and that's why drawImage got a TypeError.
In fullscreen, the iPad shows the system bar as an overlay at the top, making the top of the page inaccessible.
It also adds a floating exit fullscreen (X) button.
This workaround shifts elements around to avoid these overlays.
It adds a spacer element to the top of the page to account for the system bar,
and styles it thematically as a titlebar. It looks great (very legit and intentional), at least on this one model of iPad,
but will probably break on other models. It's a very fragile thing, working around system overlays.
Previously, long-pressing would select the canvas, the selection, or in some cases, the entire page!
Not all of these prefixes are needed, but I can deal with that later.
Hopefully this doesn't interfere with anything!
It would only move to the new position if you dragged on the screen a bit, before.
It was being reset to the last position of a pointermove, even several gestures ago, due to code trying to account for scrolling and browser zooming.
- For all platforms: This lets sounds play overlapping each other (i.e. in quick succession)
- For (at least) iPad: This prevents media controls from being shown in the Control Center, as if it were music you'd want to play/pause/rewind.
- For (at least) iPad: This fixes sound getting cut off on subsequent plays, probably related to Safari treating the <audio> as if it were a music track.
I think I changed my mind about letting you tab to the controls to enable them / select them, because then you couldn't tab to the OK button without changing the selection!
- Fixes dragging windows with Eye Gaze Mode with special pointerId === 1234567890 logic for jspaint
- Improves performance with zooming/panning by reducing unnecessary DOM updates (specifically with the code for closing menus when you click outside of them)
- Fixes random key misinterpretation like F6 as 'u' in the menus, due to keyCode being interpreted as ASCII (case-insensitively); it now uses key instead of keyCode
- Menu item checkboxes and submenu indicators are now done in CSS, so need to be included in the Modern theme.
An animation would be more helpful, or maybe even an interactive tutorial where it highlights the click region in the actual app (it might have to hide the news to do that though.)