Igor Zinken
|
3997faf9bc
|
Layer order swap is now also stored in state history
|
2021-01-19 11:57:00 +01:00 |
|
Igor Zinken
|
1af4e4e8b7
|
Implemented Layer sorting
|
2021-01-19 09:59:08 +01:00 |
|
Igor Zinken
|
f80e623348
|
Improved brushing performance on zoomed in documents
|
2021-01-18 18:08:04 +01:00 |
|
Igor Zinken
|
b7720db1c3
|
Implemented preferences panel and low memory mode to reduce memory allocated by paint history
|
2021-01-18 13:28:19 +01:00 |
|
Igor Zinken
|
cc10c2dcaa
|
Implement action queue for deferred paint rendering, use low resolution paint preview during paint
|
2021-01-17 23:35:14 +01:00 |
|
Igor Zinken
|
028c8c8093
|
Made brush undo states Blob based to overcome Safari Canvas allocation limit, added Vuex module based memory management for these state resources
|
2021-01-17 14:47:16 +01:00 |
|
Igor Zinken
|
c55de06fea
|
Implemented multiple brush types
|
2021-01-16 20:11:12 +01:00 |
|
Igor Zinken
|
2f9013155f
|
Implement continuous brushing (#6)
Implementation of continuous brushing added
|
2021-01-16 17:21:44 +01:00 |
|
Igor Zinken
|
a07e4e7c46
|
Implemented layer scaling
|
2021-01-16 12:21:45 +01:00 |
|
Igor Zinken
|
1b44ac9cf0
|
Selections are now handled by the interaction pane to be visible on top of all layers and work across layers
|
2021-01-13 21:00:09 +01:00 |
|
Igor Zinken
|
3d343c63f4
|
Added layer interaction to state history
|
2021-01-12 17:15:24 +01:00 |
|
Igor Zinken
|
060e3abea0
|
Selections are now also stored in state history
|
2021-01-12 11:28:22 +01:00 |
|
Igor Zinken
|
85b70c12f9
|
Implemented state history mechanism (still hidden from UI as features need to be hooked up)
|
2021-01-11 21:45:59 +01:00 |
|
Igor Zinken
|
60b87f6626
|
Separated math utility into area specific functions. Decluttered LayerSprite selection logic
|
2021-01-10 22:16:45 +01:00 |
|
Igor Zinken
|
a92c387ac3
|
Upon opening a new Document, there is always a valid tool selected
|
2021-01-10 20:12:12 +01:00 |
|
Igor Zinken
|
e307f6374b
|
Fixed issue where rotated content on Safari would sometimes not render
|
2021-01-10 15:15:11 +01:00 |
|
Igor Zinken
|
d325947ec7
|
Improved filter and effects rendering by introducing caches
|
2021-01-09 12:10:54 +01:00 |
|
Igor Zinken
|
d8382e043a
|
Improved performance of filter application by omitting idle effects, implemented brightness and vibrance filters
|
2021-01-08 20:15:38 +01:00 |
|
Igor Zinken
|
f06c4a0402
|
Implented Document cropping
|
2021-01-08 18:56:25 +01:00 |
|
Igor Zinken
|
6ed9616107
|
Improved filter performance by processing ImageData inside a parrallelizable Worker
|
2021-01-08 16:40:14 +01:00 |
|
Igor Zinken
|
c78106b35e
|
Implemented desaturate filters
|
2021-01-08 09:30:06 +01:00 |
|
Igor Zinken
|
213b3e509c
|
Implemented initial layer filters
|
2021-01-07 21:47:25 +01:00 |
|
Igor Zinken
|
f4f2f6abee
|
Fixed issues with Document content rescaling
|
2021-01-06 22:31:12 +01:00 |
|
Igor Zinken
|
86bb61569f
|
Added automatic layer selection on ctrl + click of Document, taking transparency into account
|
2021-01-05 22:50:50 +01:00 |
|
Igor Zinken
|
693ad055e7
|
Implement a little more robust Google Font preloading
|
2021-01-05 08:53:08 +01:00 |
|
Igor Zinken
|
05872365b2
|
Added opacity to clone stamp
|
2021-01-04 21:38:23 +01:00 |
|
Igor Zinken
|
e6502ef506
|
Implemented clone stamp tool
|
2021-01-04 21:29:15 +01:00 |
|
Igor Zinken
|
921e3c0133
|
Implemented loading state for potentially long running operations
|
2021-01-03 19:54:53 +01:00 |
|
Igor Zinken
|
ca74ac9c5e
|
Fixed issue where pan mode would not be active over entire canvas surface
|
2021-01-03 15:13:47 +01:00 |
|
Igor Zinken
|
e820fd345d
|
Paste image selection now appear in the center instead of top left of the Document
|
2021-01-03 12:58:13 +01:00 |
|
Igor Zinken
|
6363a6b753
|
Selections can now be moved using keyboard arrows
|
2021-01-03 11:21:48 +01:00 |
|
Igor Zinken
|
0ba55d1ccf
|
Documents can now be saved and loaded from Dropbox directly
|
2020-12-31 18:20:13 +01:00 |
|
Igor Zinken
|
eb0e024f6d
|
Transparent layers are now also stored with transparency
|
2020-12-31 11:05:37 +01:00 |
|
Igor Zinken
|
51e28701fb
|
Implemented text line height adjustment
|
2020-12-30 13:25:32 +01:00 |
|
Igor Zinken
|
72872fa8dc
|
Implemented Google Fonts
|
2020-12-30 11:24:11 +01:00 |
|
Igor Zinken
|
92ac2ead05
|
Added initial text implementation
|
2020-12-29 22:12:13 +01:00 |
|
Igor Zinken
|
6f825e3ed7
|
Selections can now be stored and reloaded at Document level
|
2020-12-29 14:19:11 +01:00 |
|
Igor Zinken
|
ba5cf0e3b7
|
Implemented layer mirroring effect
|
2020-12-29 12:46:50 +01:00 |
|
Igor Zinken
|
b9851c4756
|
Resolved issue with dragging of rotated layer content
|
2020-12-27 13:12:18 +01:00 |
|
Igor Zinken
|
e1a782ac72
|
Layer effects are now delegated to an asynchronous render service
|
2020-12-27 10:42:22 +01:00 |
|
Igor Zinken
|
a7daecf4cc
|
Refactored layer-sprite and layers so layer-sprite have the responsibility of storing the temporary effected bitmap
|
2020-12-26 20:55:05 +01:00 |
|
Igor Zinken
|
1fe38cd3c0
|
Implement eraser tool
|
2020-12-24 10:33:33 +01:00 |
|
Igor Zinken
|
31593b9d27
|
Added initial layer rotation
|
2020-12-23 20:40:41 +01:00 |
|
Igor Zinken
|
b8f25cefa8
|
Implemented eyedropper tool
|
2020-12-23 19:51:35 +01:00 |
|
Igor Zinken
|
bc99668897
|
Document resize now takes layers with sizes different to the document into account
|
2020-12-23 15:29:58 +01:00 |
|
Igor Zinken
|
34945ce027
|
Renamed application
|
2020-12-23 14:42:59 +01:00 |
|
Igor Zinken
|
f78ac52655
|
Added free-form selections
|
2020-12-23 12:58:05 +01:00 |
|
Igor Zinken
|
c8189b9b2e
|
Fixed issue with document resizing, sprite functions can now be run for specific documents, added unit tets for sprite factory
|
2020-12-22 12:13:18 +01:00 |
|
Igor Zinken
|
98603d6c20
|
Remove rudimentary tests
|
2020-12-22 11:07:07 +01:00 |
|
Igor Zinken
|
3aab2938a9
|
Masks are now movable. Exported image is now hi-res
|
2020-12-21 21:00:08 +01:00 |
|