Commit Graph

102 Commits (19f0c993934a4e1f6d2c9d773b3517ac106ac4d0)

Author SHA1 Message Date
Isaiah Odhner 777209a04e Add a news update 2019-12-05 14:08:47 -05:00
Isaiah Odhner 14ee97fb6a Gay es Paint 2019-11-10 10:36:21 -05:00
Isaiah Odhner 6f2476d10b Update news 2019-10-26 17:34:16 -04:00
Isaiah Odhner 252fce7abd Prevent layout shift while loading
Fix dynamic cursor offset if you 1. load a new empty session (remove the whole hash from the URL), 2. switch to the brush or eraser tool, 3. see the cursor offset on the canvas

Fix flash of UI where there's no menu bar while loading, that caused the shift in UI that caused the cursor offset to be wrong.
2019-10-26 12:30:41 -04:00
Isaiah Odhner 61b22adbc6 Redesign layout of About Paint
Move the View Project News button into the header row.
2019-10-10 12:19:20 -04:00
Isaiah Odhner aed00ce022 WIP no relayout on load 2019-10-10 11:23:51 -04:00
Isaiah Odhner 232af6e981 Simplify news styles 2019-10-10 00:41:49 -04:00
Isaiah Odhner 4b074f6cc4 Move news styles into `#news > style`
This way it'll use the CSS defined for the HTML its using.
2019-10-10 00:11:11 -04:00
Isaiah Odhner 5d7d135ed8 View Project News from Help > About Paint 2019-10-09 23:34:21 -04:00
Isaiah Odhner 0b4d9295d7 Draw Randomly 2019-10-09 14:04:42 -04:00
Isaiah Odhner c82e6369b0 Twitter please stop cropping off the important parts
Twitter doesn't let you control cropping, they use a neural network for that, and it has the final say.
2019-10-08 16:51:42 -04:00
Isaiah Odhner 3b13c4cc05 Use a card layout with an icon instead of a full screenshot
for sharing on Facebook
2019-10-08 16:45:07 -04:00
Isaiah Odhner 10b8dc8c46 Clean up icon names
and delete redundant 96px and 48px icons
2019-10-07 00:12:20 -04:00
Isaiah Odhner fafd250b0c Use a single apple-touch-icon
https://webhint.io/docs/user-guide/hints/hint-apple-touch-icons/#why-is-this-important
2019-10-07 00:12:20 -04:00
Isaiah Odhner 9137e95cbd Hint img sizes 2019-10-06 23:50:43 -04:00
Isaiah Odhner 583a87ebdc Add noscript message 2019-10-06 23:37:44 -04:00
Isaiah Odhner a6ced04eb7 Change MS tile color
- Use the teal from the default Windows 98 background color to make it look like the icon on that desktop
2019-10-06 23:17:10 -04:00
Isaiah Odhner 972f44b234 Change theme and background color
- Use dark blue for the theme color, from the windows 98 titlebar color
- Use dark gray for the background color, from the scrollable canvas area
- Make webhint.io happy by removing the version field and nonstandard categories from the manifest
2019-10-06 23:17:10 -04:00
Christian Liebel 3cdf1913f2 Use official Web App Manifest extension 2019-10-06 22:37:59 -04:00
Isaiah Odhner 0421882eaf Save undos/redos as ImageData & fix Free-Form Select
- (PARTIALLY avoid a browser bug in chrome. When you zoom to a non-integer scale, there's this weird quantum antialiasing due to the canvas having a backing store which is higher density than the canvas's logical pixels (and redraw regions come into play as well). Switching to storing ImageData instead of canvases for undos/redos doesn't eliminate much of this problem, but it avoids having the undos/redos also store some high-DPI state and thereby SOMETIMES restore a state of whether antialiasing is happening or not. So it's a little less weird now, but it doesn't really solve that bugginess.)
- Protect against data loss when running low on memory. The browser (chrome at least) can clear canvases when low on memory. If the data is erased, and you undo, or do anything to the canvas, jspaint saves over the autosave. Ideally there should be multiple autosaves, but for now this is catastrophic in terms of data loss. Using ImageData instead of canvases, hopefully the browser is less willing to destroy this data, since it's more like a plain data structure in your program, and you would hope it wouldn't just delete arbitrary data in your program. A crash should be better than losing the canvas data (undos/redos) because in that case the autosave should still be in tact, altho this doesn't protect against the case where the main canvas is cleared by the browser, and then you do something to interact with the canvas other than undo/redo, and then either the page crashes or you refresh, and the autosave will still be gone.
- Behavior change or Regression: Now if the document is transparent, but the document mode is opaque, and you paste something larger than the canvas, it'll keep the transparency in the area of the original document, because it's using putImageData instead of drawImage.
- Regression: When you choose Opaque in the Image > Attributes... it no longer makes the document opaque because it's using putImageData instead of drawImage.
- Fix: Rewrite the Free-Form Select's temporary shape preview to use a proper layer instead of abusing the undo stack. This reduces the number of undo states created, and should make it easier to implement passive selections in the future. (Selections shouldn't create an undo state until you start dragging them.) This should also fix a bug in multiplayer where "inverty brush" could be left behind.
2019-09-30 19:50:48 -04:00
Isaiah Odhner dac402b64b Clean up icon files
Use a (more) consistent naming scheme
2019-09-29 14:36:45 -04:00
Isaiah Odhner bc1afbab52 Add Safari pinned tab icon 2019-09-29 13:22:04 -04:00
Isaiah Odhner 701058ede0 Upgrade to jQuery 3.4.1 with CDN & fallback 2019-09-28 13:48:44 -04:00
Isaiah Odhner 87c93e1200 Maybe keep using the favicon.ico 2019-09-27 22:33:10 -04:00
Isaiah Odhner d5c9b8219e Fix favicon size selection in chrome 2019-09-27 22:10:18 -04:00
Isaiah Odhner f70a7c0548 Make JS Paint installable
- Use new vector icon
- Use https://www.favicon-generator.org to create a template for what icons are needed etc.
- Tweak paths and add and update metadata
2019-09-27 19:22:10 -04:00
Isaiah Odhner 5a4abc4591 Rename textbox object OnCanvasTextBox 2019-09-20 12:34:14 -04:00
Isaiah Odhner b9fadfd708 Rename selection object OnCanvasSelection
Avoid potential conflict with global Selection built into browsers
2019-09-20 12:31:03 -04:00
Isaiah Odhner 21b9a31afe Improve title
Maybe this will make it show up nicer in Google?
Currently Google is transforming "untitled - Paint" to "Paint: untitled" for the title of the page; maybe this would make it more confident in using the original title, since it lines up with the domain name, and is more than one word? idk
2019-07-07 01:24:49 -04:00
Isaiah Odhner cbd5e09c19 Make HTML more valid, and clean up quotes 2019-07-07 01:14:58 -04:00
Isaiah Odhner a475bcdac8 IE is not supported!
Reduce attempted support, and give a nicer message (on the page instead of in an alert)
2019-07-07 01:07:08 -04:00
Isaiah Odhner 8b5f09e801 Replace paypal button with paypal.me link 2019-07-07 00:24:55 -04:00
Isaiah Odhner 3c675bef1b Move some Electron integration into a file 2018-11-16 01:41:26 -05:00
Isaiah Odhner a5a00539a6 Improve save dialog in Electron app 2018-11-16 01:19:42 -05:00
Isaiah Odhner 198427accb Add Electron Forge 2018-08-23 21:59:00 -04:00
Isaiah Odhner 58ddd9fa35 Add donate button to About Paint 2018-06-22 01:15:48 +00:00
Isaiah Odhner b739751976 Load About Paint content from HTML
This probably won't help SEO (even in the limited way that I want (a better description, rather than ranking which is what most SEO is focused on)), but it should improve the site for Lynx users 🙃 and make it easier to update (HTML highlighting etc.)
2018-06-21 02:23:18 +00:00
Isaiah Odhner e5b3c5be8b Use WebGL for Polygon tool 2018-06-17 17:52:53 -04:00
Isaiah Odhner 3a8d9a5d3e Create better-sized meta images 2018-06-13 04:03:26 +00:00
Isaiah Odhner 2705ed6e40 Update meta description 2018-06-13 03:01:47 +00:00
Isaiah Odhner 9252c1b065 Add metadata for Twitter 2018-06-13 02:59:53 +00:00
Isaiah Odhner 94b607b3b4 Rename folder 2018-06-13 02:37:33 +00:00
Isaiah Odhner b5d4881e13 Add some metadata 2018-06-13 02:35:03 +00:00
Isaiah Odhner 474e5658b8 Add partial support for IE
Closes https://github.com/1j01/jspaint/issues/112
2018-04-20 06:43:00 +00:00
Isaiah Odhner e1f4e5b862 Add Konami Code
Ideally I would cherry pick these (or jspaint would be simply part of a monorepo of 98.js), but these changes are a culmination of these commits:

aac59ee0c1
b85d402f8e
a02125968c
3074c6d8a2
23c6a40d4e
7243bafdee
a578d1d035
cf5cce42a4
2018-04-09 00:36:51 -04:00
Isaiah Odhner b02a4d7ff0 Refactor dataflow for toolbox
(Add secret disabled editing tools!)
2018-02-17 06:45:39 +00:00
Lawrence Okoth-Odida 6b9a6d962c Fix initial white flicker
- Move theme loading from body to head tag
- Rename index.js to theme.js for clarity
2018-01-22 20:10:09 +00:00
Lawrence Okoth-Odida 9c43fa9962 Fixes for chrome app
- Remove inline script (forbidden in chrome apps)
- Fix loading of initial css
- Allow users to open images from the file manager
2018-01-21 15:03:59 +00:00
Wei-Wei Wu 23d15cefbb Add uploading to Imgur (#52) 2018-01-20 15:25:24 -05:00
Isaiah Odhner ae61a2ba46 Improve error in case storage is unavailable 2018-01-12 23:39:37 -05:00