* fixes the FILL block on retina screens
* fixes turning pentrails into costumes on retina screens
* adds an option to the settings menu letting the user switch between
non-retina and retina resolutions on devices and in browsers that
support it
* Morphic documentation update for retina support
Again, folks, this is IN PROGRESS and not yet ready to be released. But
it’s getting closer to being testable :-)
This has bee designed and written by the amazing Bartosz Leper
(@bl-nero). Since I totally suck at Git and find myself incompetent to
resolve merge conflicts, I’ve decided to manually copy Bartosz’s
changes mostly verbatim over, tweaking them only ever so slightly in
ways that don’t alter their functionality, except for introducing a
tiny test so current Safari still loads Snap, albeit not in retina
mode. THIS IT NOT READY FOR RELEASE YET, IT’S WORK IN PROGRESS. Get it?
Thanks!
* make dialog resizable
* enable double-click on icons
* prevent error if no icon is selected
* prevent error if icon is dragged
* prevent error if icon is right-clicked / ctrl-clicked
* adjust background color
* adjust icon layout
This was removed due to instability on the part of browser vendors.
`Canvas.toBlob()` _should_ be the preferred way of exporting a canvas
as an image. Blob URIs are shorter and don't cause Chrome crashes like
the `data:` URI scheme does. They are also faster to encode images, and
don't clog up browser history.
**However**, there are currently issues in browser support which make
it hard to save images generated by blob URIs. Chrome and Firefox both
have different mechanisms of exporting blob images to disk. (In Chrome
you must right click the image, whereas in Firefox you must use the Save Page As command.)
The current solution is this:
* When a script pic is generated, create a large `data:` URI/
* Check if the browser is Chrome and if the length is a problem
* If so, convert the URI to a blob manually.
* Use the `a[download]` attribute to force the browser to save to disk.
Note that the conversion to a manual blob is _much_ slower than a
native method, but as this is an exporting operation it shouldn't cause
too much of a headache for users since it should be a fairly low
occurrence that users hit that code path.