Commit Graph

506 Commits

Author SHA1 Message Date
Igor Zinken
0d0d54234d Early exits 2023-05-17 19:04:50 +02:00
Igor Zinken
3c32a302cb Migrate to webtoon PSD for performance improvement while parsing PSD files 2023-04-23 09:31:05 +02:00
Igor Zinken
b47ba5bcd0 Allow drawing operations on scaled layers (#29)
Allow drawing operations on scaled layers
2023-04-16 10:58:09 +02:00
Ange Cesari
5d841623d5 Added dockerfile + setup steps in readme.md (#28)
Co-authored-by: Ange Cesari <contact@ange-cesari.com>
2023-04-16 09:41:00 +02:00
Igor Zinken
f16c7492e9 Implement support for importing PDF documents (#26)
* Implement support for importing PDF documents
* Optimized lazy loading of third party import services
* Caught issue with corrupt PSD files
* Updated package lockfile
* Added test
2023-04-13 19:50:49 +02:00
Igor Zinken
f97d9d9ba7 Made dragged image URL loader two-step process 2023-04-12 19:16:43 +02:00
Igor Zinken
6033c73e39 Added support for opening images dragged between browser tabs 2023-04-11 21:12:06 +02:00
Igor Zinken
6d7da9e696 Blend modes are preserved when importing Photoshop PSD documents 2023-04-11 20:36:39 +02:00
Igor Zinken
51f194b47d Allow closing of layer filter pane by pressing ESC key 2023-04-11 20:10:53 +02:00
Igor Zinken
8583a834f6 Disable layer blending UI for first layer 2023-04-11 20:05:55 +02:00
Igor Zinken
b3a85bd40b Implemented layer blend modes (#24)
* Initial work on blend modes
* Blend modes are now working
* Some performance improvement
* cleaner code
2023-04-11 20:01:59 +02:00
Igor Zinken
05b5549f34 Fixed issue where typing in threshold input in magic wand toolbox would prevent certain keys 2023-04-01 12:03:48 +02:00
Igor Zinken
317868d83e Allow using alternate ratios when holding down shift during rectangular selection creation 2023-04-01 11:59:46 +02:00
Igor Zinken
d2b581d2ee Active selections now support multiple non-overlapping shapes
* Renamed Selection data structure. Multiple select begins to work
* Saving and loading of multiple selection shapes implemented
* Renamed Document selection properties to avoid confusion
* Renamed and distributed functions between selection and shape utilities
* Fixes to selection toolbox
* Fixed issue with copying across multiple selections
* Final cleanups
2023-03-31 22:10:41 +02:00
Igor Zinken
54314e1153 Generate default layer name upon opening of new layer window to allow quick additions 2023-03-30 21:52:28 +02:00
Igor Zinken
f68da8e9ef Adjusted select mode toggling and selection cursors 2023-03-30 19:32:53 +02:00
Igor Zinken
82833a456b Fix issue where keyboard shortcuts for changing tools won't work when the layer panel is focused 2023-03-29 22:17:11 +02:00
Igor Zinken
ee6dd0b556 Migrated all unit tests to TypeScript 2023-03-23 21:24:56 +01:00
Igor Zinken
7c99fa0cb1 Migrated all application services to TypeScript 2023-03-23 21:13:15 +01:00
Igor Zinken
3b3d5bc57d Migrated all renderers to TypeScript 2023-03-23 07:52:28 +01:00
Igor Zinken
7ce6a75cd1 Migrated mixins to TypeScript 2023-03-22 22:37:32 +01:00
Igor Zinken
cf7dd806a5 Migrated store modules to TypeScript 2023-03-22 07:20:07 +01:00
Igor Zinken
5e2ab5af38 Migrated all math helpers to TypeScript 2023-03-20 23:51:19 +01:00
Igor Zinken
92afec40f0 Migrated all utilities to TypeScript 2023-03-20 23:25:03 +01:00
Igor Zinken
8adb358b3b Initial migration from JavaScript to TypeScript 2023-03-20 22:45:49 +01:00
Igor Zinken
eb6ccef7c9 Update default threshold for magic wand tool 2023-03-19 12:53:39 +01:00
Igor Zinken
3d1fd3dab7 Resolved issue where WASM was not available in production build 2023-03-19 12:42:56 +01:00
Igor Zinken
b943b115f3 Remove Google font loading from output page. Add base directory to output 2023-03-19 11:58:44 +01:00
Igor Zinken
1f74f36eed Migrate build from Webpack to Vite 2023-03-19 11:49:18 +01:00
Igor Zinken
4159398352 Implement magic wand tool to select areas by color (#20) 2023-03-12 09:21:35 +01:00
Igor Zinken
f7211bbc48 Use passed event properties instead of window.event in global to local point conversion 2022-12-04 19:35:34 +01:00
Igor Zinken
0057ac6e7d Fixed issue where touch events on scaled down documents would not be captured correctly 2022-12-04 19:07:31 +01:00
Igor Zinken
d10625c7a0 Updated README with note on zCanvas, rendering and event handling 2022-12-04 17:10:08 +01:00
Igor Zinken
498654e2d9 Implemented possibility to start/stop a selection or brush operation outside of the document canvas 2022-12-04 15:57:58 +01:00
Igor Zinken
2cfadbad83 Fixed issue where exporting animated layers from a cropped image would respect the layer content size, not the cropped document size 2022-10-29 00:20:42 +02:00
Igor Zinken
d6f9b5bd37 Fixed bug where exporting animated image would not respect layer order 2022-10-29 00:04:37 +02:00
Igor Zinken
1b17f42664 Double-clicking layer name will always lead to selection of input field text 2022-10-28 23:26:19 +02:00
Igor Zinken
eedafa76fa Migrated Google Drive login from to be deprecated Google Sign-In platform to Google Identity Services 2022-10-03 22:03:00 +02:00
Igor Zinken
048234e274 Fixed issue where rapid changes made to text would not render text bounding box at correct size 2022-09-11 12:11:13 +02:00
Igor Zinken
a4b3337492 Move font face to global stylesheet to prevent packing multiple times 2022-06-30 22:46:04 +02:00
Igor Zinken
63e9676cb1 Added GDPR consent screen prior to using Google Fonts because we can't have nice things 2022-06-30 22:34:33 +02:00
Igor Zinken
18d1514ca5 Added keyboard control to focused layer panel 2022-05-27 16:52:26 +02:00
Igor Zinken
4bfe07da66 Addressed issue where using spacebar and drag to pan document viewport would jump after a window resize 2022-05-26 22:06:50 +02:00
Igor Zinken
dbf1bce664 When opening Photoshop documents, the flattened composite is always added to the imported document 2022-05-26 21:09:29 +02:00
Igor Zinken
c8f5f90d39 Updated zCanvas and Dropbox dependencies. Updated UI behaviour when loading large cloud documents 2022-05-26 21:04:17 +02:00
Igor Zinken
4adb01276b Missing await on lazy retrieval of Google Drive service 2022-04-12 18:52:33 +02:00
Igor Zinken
f176f6610e Merge branch 'master' of https://github.com/igorski/bitmappery 2022-04-12 18:43:19 +02:00
Igor Zinken
52b00e32b8 Cloud service auth flows can now be initiated directly from the File menu 2022-04-12 18:43:13 +02:00
Igor Zinken
ed8b9c25ab For Google Drive, don't request folder hierarchy from the root folder upwards when using scoped access 2022-04-12 13:34:06 +02:00
Igor Zinken
0fab9c3084 Re-enable Google Drive connection button upon cancelling of authorization flow 2022-04-12 13:14:00 +02:00