Commit Graph

336 Commits

Author SHA1 Message Date
unsettledgames
81cc4c8900 Moved setCanvasOffset to layer 2020-07-21 22:30:46 +02:00
unsettledgames
466eb0580c Started refactoring the code
- Can now zoom without selecting the zom tool
- Moved updateCursor to the tool class, deleted _updateCursor.js
- Removed as many references to canvas as possible, removed every global reference to context
- Added methods in Tool class to move the brush preview
2020-07-21 16:01:00 +02:00
unsettledgames
03ba3fe245 Fixed rectangle tool bug
Switching tool from the rectangle caused the editor to freeze.
2020-07-21 14:42:25 +02:00
unsettledgames
6be8791dec Finished implementing editor modes 2020-07-20 23:33:17 +02:00
unsettledgames
e9e1ba96da Started implementing editor modes
Added prompt in the create menu to choose an editor mode.
2020-07-20 12:59:04 +02:00
unsettledgames
caa81dde1c Finished implementing project loading and saving 2020-06-28 16:57:19 +02:00
unsettledgames
2868363bb7 Started project opening
Fixed a bug in the flatten visible undo, created an array to store the colours in the current palette, implemented project saving.
2020-06-27 13:29:28 +02:00
unsettledgames
75a6b7ade7 Finished implementing layers
Updated readme with the features that should be implemented.
2020-06-26 17:38:39 +02:00
unsettledgames
a860677488 Changed implementation for moving layers 2020-06-25 23:37:41 +02:00
unsettledgames
4bd05f184d Finished implementing history states
I thought it was going to be a lot more annoying
2020-06-25 13:19:31 +02:00
unsettledgames
d077c4f8e0 Implemented history state for flattening all the layers 2020-06-25 12:10:34 +02:00
unsettledgames
17a2fe8318 Implemented history state for merging layers 2020-06-25 11:40:47 +02:00
unsettledgames
364b5d2652 Implemented history state for deleting layers
Also fixed a few bugs in the other states.
2020-06-24 23:40:49 +02:00
unsettledgames
b694483f40 Implemented history for renaming layers 2020-06-24 22:34:21 +02:00
unsettledgames
3dbd7fbb1a Fixed bugs in the already implemented history states, added state for moving layers
Since the states were recycling the same functions, a brand new state was saved when redoing, so that undoing was impossible.
2020-06-24 13:30:24 +02:00
unsettledgames
74a8ee0988 Implemented history state for adding layers 2020-06-24 12:51:09 +02:00
unsettledgames
8201099ad5 Fixed history for canvas edits 2020-06-23 23:29:13 +02:00
unsettledgames
927be7c310 Implemented save management
HAHA I was joking, I still had to make it save stuff. Ok, now I can only implement the history. It will take ages.
2020-06-23 23:10:56 +02:00
unsettledgames
9032bf4fe9 Added layer menu in the top bar
Since I've procrastinated a lot and I've finished the things to implement before it, next is history management.
2020-06-23 18:10:10 +02:00
unsettledgames
6ad27323e5 Implemented merge, rename and flatten options 2020-06-23 17:34:03 +02:00
unsettledgames
50b962a7f5 Almost finished deleting layers
There's a bug that happens when the user tries to delete the Layer 0. All the other ones work correctly.
2020-06-22 23:07:40 +02:00
unsettledgames
349a4417d8 Fixed a horrible bug that happened when moving layers 2020-06-20 23:50:57 +02:00
unsettledgames
d9d1406d57 Fixed new pixel creation bug and preview canvas blurriness
It's now possible to create a new project of a different size from the one decided when opening the app. Also fixed a bug that made the layer preview canvases blurry. They're now pixel perfect.
2020-06-20 22:49:02 +02:00
unsettledgames
ab4129546c Added layer move
The user can now move layers and choose which one to put on top of each other just by dragging and dropping them in the layer menu. Also fixed a bug in the eyedropper, that can now pick a colour even though the layer it's on is not selected.
2020-06-19 23:31:36 +02:00
unsettledgames
6cdc764586 Started drag and drop system 2020-06-19 16:20:51 +02:00
unsettledgames
10aa6134cc Fixed button visibility
Now if a layer is locked or hidden, the icon will always be shown.
2020-06-19 15:25:25 +02:00
unsettledgames
c498a495d5 Added canvas preview to layer menu
Decided to apply the same width / height ratio of the canvas to the preview.
2020-06-19 15:16:22 +02:00
unsettledgames
066582e309 Implemented lock function
Now a layer can be locked and unlocked and it's possible to edit a layer only if the layer is not locked.
2020-06-19 12:57:07 +02:00
unsettledgames
750414d63a Implemented visibility option
Fixed all the bugs in the add layer feature, now it's also possible to toggle the visibility of a layer. Next step: locking layers.
2020-06-18 23:24:37 +02:00
unsettledgames
6cf6f86a91 Currently debugging the add layer function
At the moment the new canvas is correclty added and it's possible to draw on it after selecting the corresponding layer. There's a bug that doesn't let the user select a layer after the first time.
2020-06-18 16:04:45 +02:00
unsettledgames
51d86cee77 Continued basic layer layout
Added "Add layer" button, must find a nice way to add svgs
2020-06-17 23:09:11 +02:00
unsettledgames
8743bd8549 Fixed colour picker bug
When the user changed a selected colour, the stroke colour became one of the two checkerboard colours.
2020-06-16 16:04:36 +02:00
unsettledgames
970fe56674 Fixed redundant history save in cut tool 2020-06-15 12:19:56 +02:00
unsettledgames
0fc1df1650 Added Selection menu
Also fixed a few minor bugs.
2020-06-06 21:44:52 +02:00
unsettledgames
a252d396c6 Added a line to handle the history 2020-06-05 22:28:28 +02:00
unsettledgames
9beeefd399 Finished copy / cut /paste
Also fixed a minor bug that caused the preview rectangle for the selection tool to not be aligned to the actual selection.
2020-06-05 22:19:48 +02:00
unsettledgames
12e43e0449 Continued cut -> paste implementation
There's only a bug, when pasting consecutively, every time it cuts the area again. There's probably some weird cut call somewhere.
2020-04-20 19:26:00 +02:00
unsettledgames
944cf1fbed Implement cut tool
yeah that was the easy part but still

- Added hotkeys for copy, paste and cut
- Added _copyPaste.js for copy, cut and paste management
2020-04-20 16:55:34 +02:00
Sam Keddy
f1fe597b80 added contributors to splash page 2020-04-16 18:21:34 +00:00
Sam Keddy
737afc6e79 removed missing changeTool reference from main file 2020-04-15 20:21:49 +00:00
Sam Keddy
f3ce09ac5a fixed merge 2020-04-15 00:10:21 +00:00
Sam Keddy
91da252f49 created tool class which keeps track of cursors, incorporates changeTool; made changelog data its own file 2020-04-15 00:01:31 +00:00
Theo Cavignac
05066d8cb1 Fix pencil size +/- buttons broken from upstream, apply brush preview snapping to
rectangle tool, fix pencil broken by merge
2020-04-12 11:39:37 +02:00
Theo Cavignac
dd461da675 Snap brush preview to pixel grid 2020-04-12 11:03:01 +02:00
Theo Cavignac
6f84b5dfc8 Apply eslint --fix and fix indentation 2020-04-12 10:58:19 +02:00
unsettledgames
b26ac05a84 Fixed blurry cut in Firefox 2020-04-09 17:20:40 +02:00
unsettledgames
f92a7f4a46 Fixed a few minor bugs
Undoing while selecting caused mess.
Selecting outside the canvas caused empty lines to appear on the canvas.
2020-04-09 16:48:19 +02:00
unsettledgames
4b78e8fee1 Fixed undo bug for the rect selection 2020-04-04 15:56:44 +02:00
unsettledgames
3bf5d5fbd3 Added undo management for rectangle tool 2020-04-04 15:41:03 +02:00
unsettledgames
ab0b3e81e3 Fixed more bugs 🆒 🆒 2020-03-15 17:11:00 +01:00
unsettledgames
7dec2f1490 Fixed some bugs 🆒 2020-03-15 16:32:48 +01:00
Lospec
7c29ba2d35
Merge branch 'master' into master 2020-03-07 17:52:45 -05:00
Sam Keddy
d899929816 updates 2020-03-07 22:46:25 +00:00
unsettledgames
378e0f0cd0 Fixed bug that deleted the underlying pixels when confirming a selection 2020-03-07 23:13:35 +01:00
unsettledgames
9324a6a57e Found a bug
Noted a possible fix
2020-03-07 22:40:05 +01:00
unsettledgames
3e5b05bb6b Added fill mode for the rectangle tool
You can select the fill mode by clicking again on the rect button once you select it. Also added new icons.
2020-03-07 22:34:12 +01:00
unsettledgames
30282fe795 Finished empty rectangle tool 2020-03-07 16:49:01 +01:00
unsettledgames
2024ddced6 Almost finishedrectangle tool
Finished simple rectangle tool, must add the implementation for the size change.
2020-03-07 15:37:30 +01:00
unsettledgames
fd37518e55 Almost finished recangle tool
There's a Math.round bug, sometimes the opacity is off.
2020-03-06 23:21:42 +01:00
unsettledgames
f1ae36c54c Finished the selection tool 2020-03-05 16:13:23 +01:00
unsettledgames
b81e3f36a9 Added correct cursor to move tool
Added _move.js to handle the selection movement, added cursor managemente for that tool. Found a bug in the imagedata part, it is currently blank.
2020-03-05 13:34:29 +01:00
unsettledgames
7ec24fc046 Added tmp layer
The temporary layer (tmp layer) will store selections while the user decides where to put them, so that content below it doesn't get overridden.
2020-03-04 19:46:19 +01:00
unsettledgames
c714f5c004 Finished preview rectangle
When the rectangle selection tool is selected, a rect preview is drawn on the vfx layer. There's also a function that gets the selected pixels, next step is moving them around.
2020-03-04 19:38:35 +01:00
unsettledgames
8c94a951e2 Started implementing preview rect
At the moment there's a bug in the getCursorPos function, may have something to do with offsets. The rect is correctly drawn, but with a weird offset.

Added vfx canvas for tools previews.
2020-03-04 15:46:25 +01:00
unsettledgames
efaa8e3c34 Connected events to rect selection
_rectSelect.js now knows when the user started and finished drawing a rect and is able to edit a preview.
2020-03-04 14:36:40 +01:00
unsettledgames
cba4e5c87e Fixed a bug that caused the cursor of the rect selection not to reset after panning 2020-03-04 12:49:20 +01:00
unsettledgames
11337b689b Added possibility to select the rectangular selection tool
The user can now select the rectangular selection tool. Deleted the m shortcut for the pan tool and used it to shortcut to the rectangular selection tool. The pan tool can already be selected with the p button.
2020-03-04 12:42:15 +01:00
npalomba
3feee2ce5a Fixed bug that caused the fill tool to not work on transparent areas. 2019-04-02 22:35:10 +02:00
npalomba
46bd6a8adb Added eraser resize when right clicking while having the eraser tool selected.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-04-02 19:42:28 +02:00
npalomba
f6b1e3ce5b Removed useless reference to _layers.js in pixel-editor.js.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-04-01 22:22:15 +02:00
npalomba
ab070db6a3 Fixed bug that caused the eraser preview to be shifted from the actual mouse position.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-04-01 22:16:07 +02:00
npalomba
f7100ff9f7 Added comments, removed unused variables.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-04-01 21:37:53 +02:00
npalomba
8f4f4c2478 Solved bug that made the colour picker appear in the canvas.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 19:53:39 +02:00
npalomba
6a973192da Fixed bug in canvas dragging (pan tool).
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 18:48:15 +02:00
npalomba
bd96d01970 Fixed visibility of canvas before canvas generation. 2019-03-31 18:44:09 +02:00
npalomba
13cc6fe3b2 Fixed zooming bug. Eraser tool implementation definitely completed.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 18:41:08 +02:00
npalomba
16d816db18 Fixed bug in canvas dragging, must fix the one on resizing.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 17:15:03 +02:00
npalomba
a9d380ec1d Implemented eraser tool. Must move and resize layers at the same time.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 16:32:49 +02:00
npalomba
42a8ce3c4a Fixed bugs in canvas intialization. Started layers implementation.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 16:01:46 +02:00
npalomba
e68f495d50 Added functions for canvas management in order to create multiple underlying canvases for implementing layers.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 15:55:08 +02:00
npalomba
f229c14d91 Fixed bug in checkerboard creation.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 15:10:51 +02:00
npalomba
cf4f17d891 Tested checkerboard against weird canvas values. A check for negative values in the canvas dimentions should be added.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 13:31:17 +02:00
npalomba
15e6d7b08a Added _checkerboard.js for transparency checkerboard management. Implemented generation of checkerboard (still need to test it properly, for example with weird height/width values).
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 13:28:46 +02:00
npalomba
7b26ebb5fd Fixed character hotkey for the eraser tool.
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 12:24:11 +02:00
npalomba
5bbfff5fae Added eraser icon, added management of eraser size, added event listener for R key (connected to the eraser tool). Started eraser cursor management in _updateCursors.js
Signed-off-by: npalomba <nicola.palomba@studenti.galileilivorno.gov.it>
2019-03-31 12:17:32 +02:00
Sam Keddy
7126e83f5f first commit 2019-03-26 23:20:54 +00:00