Commit Graph

2149 Commits (main)

Author SHA1 Message Date
Isaiah Odhner b2ad79c05d Add a couple images to the news update 2021-12-07 21:16:02 -05:00
Isaiah Odhner 48adfc2229 Still editing the news update... 2021-12-07 19:47:26 -05:00
Isaiah Odhner 97883f9e7e Mention Winter theme improvements 2021-12-07 19:28:50 -05:00
Isaiah Odhner b2eb3ecb0c WIP: news update... 2021-12-07 18:43:27 -05:00
Isaiah Odhner d4ec1fd3c5 Display image previews always with a border (improve GIF and Imgur dialogs) 2021-12-07 18:10:31 -05:00
Isaiah Odhner 88dcd5095e Disable invalid input highlighting
Currently it considers non-integer values for Width/Height "invalid", which isn't good for Cm/Inches.
Plus, it looks very aggressive, and validation in Windows 98 is normally done with dialogs on submit.
2021-12-07 18:10:31 -05:00
Isaiah Odhner 868ebad20b Improve Load From URL dialog 2021-12-07 18:10:31 -05:00
Isaiah Odhner 6d1a79d146 Add a reasonable amount of padding to dialogs
I had put this off for a long time because I wanted to get it exactly correct, but some is better than none!
And some dialogs are custom anyways, so there's no "right" answer.
2021-12-07 18:10:31 -05:00
Isaiah Odhner bd863abbf1 Remove redundant title setting 2021-12-07 18:10:31 -05:00
Isaiah Odhner dab2ad552c WIP: news update 2021-12-07 18:10:31 -05:00
Isaiah Odhner 860bbcf906 Update tagline... also the new.gif is ugly! 2021-12-07 16:02:52 -05:00
Isaiah Odhner c761d70001 Fix Ctrl+F+F to toggle View Bitmap off (event was duplicately handled) 2021-12-07 16:02:52 -05:00
Isaiah Odhner 9734071d2c Add Fullscreen option to View menu, nice for mobile 2021-12-07 16:02:52 -05:00
Isaiah Odhner 50962bdd51 Try to make fullscreen more reliable with synchronous requestFullscreen() 2021-12-07 16:02:52 -05:00
Isaiah Odhner 678b4bea00 Handle fullscreen request denied 2021-12-07 16:02:52 -05:00
Isaiah Odhner dab76734f1 Handle key repeating for Ctrl+F 2021-12-07 16:02:52 -05:00
Isaiah Odhner 933e9db446 Work around unintuitive missing-event behavior for fullscreen 2021-12-07 16:02:52 -05:00
Isaiah Odhner 4612fa5a7d Improve View Bitmap 2021-12-07 16:02:52 -05:00
Isaiah Odhner 2e8f34cc49 Note some improvements 2021-12-07 16:02:52 -05:00
Isaiah Odhner bafe17bded Fix duplicate select styling, and Text tool textarea
Disable select styling in 98.css to use tweaked 98.css select styling that I forgot I had added.
2021-12-07 16:02:52 -05:00
Isaiah Odhner 4e96d403df Disable 98.css styles in Modern theme 2021-12-07 16:02:52 -05:00
Isaiah Odhner 9928183639 Fix double border...
Oh I actually had taken and tweaked styles from 98.css for selects already...
2021-12-07 16:02:52 -05:00
Isaiah Odhner e046f7582d Simplify spelling (dialog vs dialogue) 2021-12-07 16:02:52 -05:00
Isaiah Odhner add041982b Add aria-pressed for text toolbar toggle buttons (untested) 2021-12-07 16:02:52 -05:00
Isaiah Odhner 8983006376 Separate labels from radios, to support 98.css's styling
It needs label to be a sibling of the radio, to do the styling of the radio buttons using a pseudo element on the label.
Unfortunately, it doesn't just not style radios that aren't in the right structure, it makes them invisible. I think this could be fixed by resetting styles for `label input[type=radio]` (todo)
2021-12-07 16:02:52 -05:00
Isaiah Odhner f25a78207f Convert quotes 2021-12-07 16:02:52 -05:00
Isaiah Odhner dc2f68687c Set history window direction for RTL 2021-12-07 16:02:52 -05:00
Isaiah Odhner 48853d3964 Fix parameter not being used 2021-12-07 16:02:52 -05:00
Isaiah Odhner c6a4c8dc70 Add 98.css custom build
Styles radio buttons, checkboxes, dropdowns, fieldsets, and sliders.
2021-12-07 16:02:52 -05:00
Isaiah Odhner e2cee6eda7 Split and update news update 2021-12-07 16:02:52 -05:00
Isaiah Odhner 62dc9a9773 WIP: Add news update 2021-12-06 18:51:26 -05:00
Isaiah Odhner 09c93e1e1c Actually, clamp before getting viewport units, it's simpler
(I now understand the problem better.)
2021-12-06 18:24:44 -05:00
Isaiah Odhner fd19005a5c Clamp thumbnail viewport 2021-12-06 18:24:38 -05:00
Isaiah Odhner 703017402d Make Exit redirect to 98.js.org 2021-12-06 17:32:38 -05:00
Isaiah Odhner 9a074c1dac Improve safety when modifying the canvas while the session is loading
This is not ideal. There are surely race conditions where it can still end up with the document overwritten, and if you hit Cancel after saying Save, ditto.
Ideally it should not be able to overwrite the session while loading in the first place!
I guess that wouldn't be too hard...

This also improves the dialog around saving without a file extension, or with the wrong file extension, which is also part of improving the safety (in this less than ideal scheme).
2021-12-06 17:32:38 -05:00
Isaiah Odhner 191cb215c4 Actually, only ever discard one node
It shouldn't cancel the whole selection manipulation if you pan; you should be able to pan/zoom to position the selection exactly how you want it, ideally.
2021-12-06 17:32:37 -05:00
Isaiah Odhner e56e3f64fd WIP: handle selection.... 2021-12-06 17:19:20 -05:00
Isaiah Odhner bc90b4f908 Discard history entry when panning with two fingers
- This improves performance when starting a drag
- This keeps history clean, free of tiny, quickly-undone edits with no artistic intention
2021-12-06 12:36:25 -05:00
Isaiah Odhner 4a5a07b1ce Use a dropdown for linear vs tree history view 2021-12-06 12:36:25 -05:00
Isaiah Odhner c01e6b9d00 Add optional tree display mode for history
Sometimes I need to see the structure of the history better.
Both views could be enhanced by connecting lines, like a git history view.
2021-12-06 12:36:25 -05:00
Isaiah Odhner a5e560c7b4 Improve WebGL lost context handling just a bit 2021-12-06 12:34:55 -05:00
Isaiah Odhner 6a0f9dd97f Fix: don't show grid on Thumbnail 2021-12-06 12:14:26 -05:00
Isaiah Odhner c34df358ad Simplify 2021-12-06 01:55:18 -05:00
Isaiah Odhner ceb9095e78 Simplify? 2021-12-06 01:35:25 -05:00
Isaiah Odhner a618a01634 Zoom with Alt+mousewheel 2021-12-06 01:08:24 -05:00
Isaiah Odhner 3b7889eca6 Protect against garbage
I struggled with the pinch zooming for a while because, despite testing that `from_canvas_coords(to_canvas_coords({clientX: 50, clientY: 50}))` works correctly (and at different zoom levels etc.),  `to_canvas_coords({x: anything, y: anything})` was unbeknownst to me giving `{x: 0, y: 0}`

I really need a type checker.

Today I learned: ~~(NaN) === 0
2021-12-06 00:36:30 -05:00
Isaiah Odhner b07fa775e9 Get pinch zooming working correctly! 2021-12-06 00:36:30 -05:00
Isaiah Odhner 659bd9faa4 Make panning work completely relatively (but break zooming)
Don't hold a last scroll state. This is important for changing how the pinch zooming works, to have it independent.
But the zooming code was tied into the panning code, and is now (more) broken.
2021-12-06 00:12:19 -05:00
Isaiah Odhner 630b70e202 Refactor: Make panning work more relatively 2021-12-05 16:26:54 -05:00
Isaiah Odhner c0291a1ca2 Improve pinch zooming
I remembered I had implemented pinch zooming fairly nicely in another project: https://github.com/1j01/janitorial-android

It checks for a threshold of distance change before zooming in or out, which has the nice effect that there's no near-boundary pinch levels/distances where it can oscillate more easily; as soon as you cross a boundary to a new zoom level, you have to go the whole threshold back, which makes it much more stable.

It's also flexible in that I was able to define a set of zoom levels, which don't have to be evenly spaced, although it'd be nice to adjust the threshold between them too, maybe just to match mathematically in a logarithmic way, but potentially I could just include thresholds along with the zoom levels list, that'd be pretty simple to do if I wanted fine grained control.
I haven't included a list of zoom levels here, but it's an option.
2021-12-05 12:42:55 -05:00