DD
a74e5882cd
Rename undo formats, and make format change on costume change skip convert
2018-04-10 18:02:44 -04:00
DD
40871b1c0f
Rename undo formats, and make format change on costume change skip convert
2018-04-10 18:02:30 -04:00
DD
c6a282c97b
Add ellipse drawing algorithm and temp brush canvas for efficiency
2018-04-10 14:24:36 -04:00
DD Liu
887f528b0a
allow transparent paintbrush
2018-04-10 14:24:36 -04:00
DD Liu
ba51fe59a0
Draw lines. Fix raster layer missing when changing costumes.
2018-04-10 14:24:36 -04:00
DD
31561d8bda
Add bitmap brush tool button
2018-04-10 14:22:47 -04:00
DD
2b267ba6e9
Fix tests
2018-04-10 10:38:55 -04:00
DD
0529c43c25
Change back to vector when switching costumes
2018-04-09 20:21:04 -04:00
DD
a6e7fb4251
update button state when undoing between modes, hide vector tools
2018-04-09 20:10:53 -04:00
DD
6e4ab3191a
Get undo/redo working
2018-04-09 17:47:11 -04:00
DD
15053d15f0
convert to vector on button press
2018-04-06 16:57:59 -04:00
DD
94ae07f1f2
Bitmap button rasterizes
2018-04-06 16:23:43 -04:00
DD
f995f30e37
Button toggles on switch format
2018-04-06 11:52:34 -04:00
DD
0bf2355cbc
Make raster not blurry on zoom
2018-04-05 17:37:19 -04:00
Paul Kaplan
943d64b437
Fix keyboard disabling
2018-03-30 13:16:11 -04:00
Paul Kaplan
848aa7e838
Disable keyboard shortcuts because they interfere with text tool
2018-03-30 13:00:11 -04:00
Paul Kaplan
449192ebb3
Remove the preprocessing step of stripping newlines.
...
It does not seem to be required anymore: I'm no longer seeing errors
from the watermelon.
It was breaking multiline text import from scratch 2 SVGs which use
newlines.
2018-03-29 11:46:56 -04:00
Paul Kaplan
d9587ba8d7
Merge branch 'develop' into issue/219
2018-03-28 08:51:54 -04:00
Jacco Kulman
5593b03074
Added the setSelectedItems call for wheel zooming
2018-03-26 16:40:59 +02:00
Jacco Kulman
3afd232aea
Call setSelectedItems from zoom functions ( Fixes #219 )
2018-03-26 12:59:26 +02:00
DD
6bfc3f23df
Don't apply outline to text by default
2018-03-22 17:53:17 -04:00
DD
865554d7f3
lint
2018-03-22 17:20:39 -04:00
DD
b1d5111ed4
fix lint
2018-03-22 16:22:24 -04:00
DD
28da99bb05
Check for text area in a better way
2018-03-22 15:26:43 -04:00
DD
baf628c5c9
Detect view bounds changes and update the edit text matrix in response
2018-03-22 15:23:51 -04:00
DD
c75d3f63ba
Add undo
2018-03-22 14:31:03 -04:00
DD Liu
86ee3d8cdd
Edit text moves with text transform
2018-03-22 11:07:10 -04:00
DD
da0864b81b
Add a text edit area
2018-03-20 14:47:14 -04:00
DD
cbd2a89cd0
Merge branch 'develop' into textTool
2018-03-20 14:16:47 -04:00
DD
1c093df92b
Only unblur inputs if you clicked on the paper canvas
2018-03-20 11:03:41 -04:00
DD
79e7d21023
Change proptype
2018-03-16 14:16:27 -04:00
DD
8d61a7b060
Move the text edit target to the state and make fill work
2018-03-16 11:39:09 -04:00
DD
7a0a0784e1
Unfocus text fields when canvas clicked
2018-03-15 13:23:03 -04:00
DD
de0f12074d
Unfocus text fields when canvas clicked
2018-03-15 13:20:07 -04:00
DD
f9aabe1beb
Fix some bugs
2018-03-14 18:00:38 -04:00
DD
8e86222097
Basic text edit
2018-03-12 17:51:23 -04:00
DD
8e7ae67ae6
Make the text tool a real tool
2018-03-09 14:40:34 -05:00
DD
9a8c68e9d1
Remove all view.draw and view.update
2018-03-01 14:32:16 -05:00
Ray Schamp
9fca8dc514
Restrict exported SVG to content bounds
...
Previously we were exporting empty space to the right and bottom of the artwork, which was reflected in sprite thumbnails as a tiny version of the sprite.
2018-02-27 09:20:34 -05:00
Paul Kaplan
270c92a849
Buffer the paper canvas offscreen for picking to ensure safe access.
...
This gets around the bug #276 where chrome cannot handle getImageData
off a canvas on HDPI screens. In the interest of having a single
code-path, and because does not impose a large performance burden, I
think we should just use it for all platforms until chrome is really
fixed.
Also it is important to note that because this bug has to do with how
they handle accelerated 2d canvas contexts, it does not impact the stage
color picking, so that does not need to be changed.
2018-02-06 18:56:26 -05:00
DD Liu
0a308e8e44
Merge pull request #268 from fsih/flipAll
...
Flip all
2018-01-30 15:57:30 -05:00
DD
7a4822298b
Remove special case flip around center when nothing is selected
2018-01-29 15:03:05 -05:00
DD Liu
28ac7eaa7d
Merge pull request #269 from fsih/shiftLineTool
...
Hold shift to lock line tool to 45 degree angles
2018-01-26 17:37:15 -05:00
DD
c9165b0b4c
Revert "Don't enable if there is nothing in the editor"
...
This reverts commit e4ca0482b8
.
2018-01-26 17:21:47 -05:00
DD
e4ca0482b8
Don't enable if there is nothing in the editor
2018-01-25 18:32:43 -05:00
DD
385574fd46
Hold shift to lock line tool to 45 degree angles
2018-01-25 14:45:36 -05:00
DD
3ab1067c65
flip all
2018-01-25 11:33:43 -05:00
DD
ed04f4652c
Fix point rotation point is relative to, which is not viewBox upper left
2018-01-24 19:40:19 -05:00
DD Liu
1ff5fdff38
Merge pull request #266 from fsih/centering
...
Use translate instead of position for costume centering
2018-01-24 18:53:13 -05:00
DD Liu
35baf315a1
Merge pull request #263 from towerofnix/shift-scroll
...
Add holding shift to force horizontal scrolling
2018-01-23 19:03:59 -05:00
DD
6a8803b9e7
liiiiiiint
2018-01-23 14:59:57 -05:00
DD
86c9cb1e27
Use translate instead of position for costume centering.
2018-01-23 14:35:08 -05:00
Florrie
3341470cf0
Only use deltaY-horizontal-scrolling if deltaX is unset
2018-01-22 22:21:52 -04:00
Florrie
bffcf4dd96
Add holding shift to force horizontal scrolling
2018-01-20 22:17:17 -04:00
Paul Kaplan
7aff96c3ff
Only update the full color state after eyedropper changes.
...
This prevents the sliders from changing when other sliders change (i.e.
bringing brightness down to 0). I needed to reorder the callback before
deactivate so the color picker can know that the update is coming from
the eyedropper. Also updated the comment to reflect what is really going
on.
2018-01-19 09:58:47 -05:00
Paul Kaplan
0279ba095c
Enforce state update before propogating change through props.
2018-01-19 09:43:25 -05:00
DD
379ecf85fc
Add an initial undo state when importing a blank costume
2018-01-12 11:22:26 -05:00
DD
300bbc80f3
Run ensure clockwise after flip, since flip makes everything counterclockwise which breaks fill
2017-12-22 17:44:14 -05:00
DD
04560d32ef
Flip
2017-12-22 17:44:14 -05:00
DD
801fc926a0
Change .1 to .5 since we figured out that it doesnt matter and .5 seems less arbitrary
2017-12-22 17:30:05 -05:00
DD
db5ddcbe87
Change handle ratio to make squares circles
2017-12-22 11:32:06 -05:00
DD
29b5c931f2
fix lint
2017-12-21 17:03:28 -05:00
DD
a0c89642d8
Make state change even when select items dont change so that handle changes work. Make the edge code pick the normal in a more well defined way
2017-12-21 15:38:24 -05:00
DD
07b30aa55b
Handle pointed and curved
2017-12-21 15:38:24 -05:00
DD
0fc9fd151d
Set enabled state based on whether any points are selected
2017-12-21 15:38:24 -05:00
DD
2dbce9186d
alphabetize
2017-12-20 14:44:39 -05:00
DD
f5c2fe2dd6
Break out mode tools
2017-12-20 14:34:32 -05:00
DD Liu
a35a0f7933
Merge pull request #221 from fsih/fill
...
Fill tool
2017-12-19 16:43:14 -05:00
DD
dcabea2a99
Convert SVGs to clockwise when importing
2017-12-19 14:40:00 -05:00
DD
814ec160b3
Fill tool for fills (not strokes)
2017-12-19 13:47:39 -05:00
DD
207341f47f
Basic fill tool
2017-12-19 13:47:39 -05:00
Paul Kaplan
bdd70165c8
Add missing code for updating stroke color from eyedropper
2017-12-19 10:47:12 -05:00
Matthew Taylor
21dc3a4b7f
Merge pull request #212 from mewtaylor/issue/gh-147
...
Implement eye dropper for paint editor
2017-12-15 11:04:54 -05:00
Matthew Taylor
8c2fc475f6
updates from @paulkaplan’s feedback
...
1. Removes the cursour over loupe, and fills the loupe center’s color correctly
2. Fixes a console error and loupe initialization issue
3. Increases the size of the swatches
Thanks @paulkaplan!
2017-12-15 10:09:19 -05:00
Matthew Taylor
54e1e34127
don’t close popover on eye dropper click
...
and also update the hsv states from an eye dropper color change.
2017-12-14 14:45:26 -05:00
Matthew Taylor
0209e65ac0
accommodate zoom in eye dropper
2017-12-14 12:58:25 -05:00
Matthew Taylor
d87adbeac5
remove shouldComponentUpdate
...
also do proper validation of `previousTool`
2017-12-13 17:18:53 -05:00
Matthew Taylor
ae0358079e
use pixelRatio
instead of scale constant
...
Turns out that the width/height paper sets on the canvas is tracked at scale to the width/height we set in the `pixelRatio` value, so use that to handle grabbing pixel color rather than a constant we set.
2017-12-13 13:13:43 -05:00
Matthew Taylor
c8094af69e
don’t change modes when activate eye dropper
...
It works well to keep track of the previously active tool in redux, and reactivate that tool when the eye dropper is finished. This takes `eye-dropper` out of the mode tool reducer too, which is nice.
2017-12-13 13:12:33 -05:00
Paul Kaplan
6a7daa83a5
Merge pull request #213 from paulkaplan/strip-svg-namespace
...
Remove "svg:" namespace from svg before importing.
2017-12-12 10:55:53 -05:00
Paul Kaplan
0e74afc631
Remove "svg:" namespace from svg before importing.
...
The namespace on tags causes paperjs to fail to import.
2017-12-12 10:25:59 -05:00
Matthew Taylor
4accabbc69
Changes from PR feedback
...
fixes lint and gui compatibility issues shown by @paulkaplan, and also does some cleanup to references and structure as requested by @fsih. Thanks to both of you for the reviews!
FYI – part of the canvas reference change made it so that the `PaintEditor` presentation component could become a classless declaration.
2017-12-11 13:24:57 -05:00
Matthew Taylor
2183dc759f
Implement eye dropper for paint editor
2017-12-08 16:52:37 -05:00
DD
5fe8369b1e
Handle null items
2017-11-30 17:56:10 -05:00
Matthew Taylor
5ffdd14ff0
Merge pull request #194 from mewtaylor/issue/gh-41
...
Implement GH-41: Add minimum width gui
2017-11-21 11:06:05 -05:00
Matthew Taylor
27c0684e1c
fine-tune the responsive design
...
squish some things together a bit more, including in desktop mode (in order to fit the coming “rotation point” button). Also turn canvas into 480x360, as it is in the mocks
2017-11-13 15:13:20 -05:00
Paul Kaplan
8730c28a79
Merge pull request #196 from paulkaplan/fix-object-values
...
Do not use Object.values
2017-11-08 13:18:06 -05:00
Paul Kaplan
b9398d2f22
Do not use Object.values
...
This is almost silly because the "keymirror" used to create Modes
actually ensures that the keys and the values of the object are the
same. So replace object.values with object.keys which has complete
browser support.
2017-11-08 08:32:43 -05:00
Matthew Taylor
95099d6e90
move modes to lib
2017-11-07 14:02:39 -05:00
DD
5e1fcc66ea
Tools keep track of when they are 'active' (mouse down has occured on them)'
2017-11-07 11:17:11 -05:00
DD
a9b55b9a22
Try to make layer management more robust
2017-11-02 17:19:42 -04:00
DD
a5a60b0884
Offset the pasted item from the original when on the same costume
2017-11-01 18:10:03 -04:00
DD
cc920e8969
clear more of the state when you switch costumes. you shouldnt retain the same selected items
2017-11-01 17:23:20 -04:00
DD
7e1e8d96ac
add copy/paste
2017-11-01 17:05:37 -04:00
DD Liu
28b9c4149e
Merge pull request #169 from fsih/shapeColor
...
Force a color state when switching to shape tools
2017-10-31 10:27:59 -04:00
DD
0d0cdfa757
Force a color state when switching to shape tools
2017-10-30 18:23:41 -04:00
DD
81191ff7f9
remove pen
2017-10-30 17:49:44 -04:00
Paul Kaplan
3dab6ef7f0
Fix nits
2017-10-30 11:13:29 -04:00
Paul Kaplan
7cc3ecf74b
Only submit SVG changes when color picker closes
2017-10-29 14:10:43 -04:00
Paul Kaplan
76b9efabeb
Allow ctrl key to zoom
2017-10-27 11:18:21 -04:00
Paul Kaplan
82928a51b9
Merge branch 'develop' into wheel-pan-zoom
2017-10-27 10:27:20 -04:00
Paul Kaplan
62526889c9
Remove wheel listeners from brush and eraser
2017-10-27 10:22:52 -04:00
Paul Kaplan
d4b28a8817
Remove scroll action on eraser and brush
2017-10-27 10:16:13 -04:00
Paul Kaplan
62fad01607
Increase zoom button increment
2017-10-27 10:05:21 -04:00
Paul Kaplan
9ac6b0b048
Save and restore project pan and zoom correctly between costume changes
2017-10-27 09:59:57 -04:00
Paul Kaplan
94b90e104b
Add basic zooming and panning from mousewheel
2017-10-27 09:12:31 -04:00
Paul Kaplan
433baae5ba
Fix linting
2017-10-26 18:16:14 -04:00
Paul Kaplan
ab3b4e4555
Force a stroke width on pen and line mode
2017-10-26 17:43:06 -04:00
Paul Kaplan
b8aadc3c54
Disable fill or outline indicators for brush, line and pen mode.
2017-10-26 17:43:06 -04:00
Paul Kaplan
40ec57fbf1
Force a real color when activating brush, pen and line mode.
2017-10-26 17:43:06 -04:00
DD Liu
b2eb47d7f2
Merge pull request #107 from fsih/backspace
...
Don't delete when input field focused
2017-10-26 15:44:19 -04:00
Matthew Taylor
b7f0df5214
Merge branch 'issue/disabled-state' into develop
...
* issue/disabled-state:
comment out disabled mode tools for now
Change border on disabled undo/enabled redo
pass props to button from labeled button
Add undo/redo disabled states
Have the paint-editor container listen to `selectedItems`
Add bool to `disabled` prop type
Add disabled state for button
# Conflicts:
# src/containers/paint-editor.jsx
2017-10-26 15:32:43 -04:00
DD
6e589e8f81
case
2017-10-26 12:05:54 -04:00
DD
7ca851985e
Move delete out of tools so its always available
2017-10-26 11:25:38 -04:00
Matthew Taylor
7b783a5c46
Add undo/redo disabled states
2017-10-26 10:58:28 -04:00
Matthew Taylor
2376a3ce63
Have the paint-editor container listen to selectedItems
...
This solves the issue of buttons not updating their disabled/enabled state until being dragged by making sure that a re-render occurs whenever a new item is selected, checking again for state.
2017-10-26 09:28:01 -04:00
DD
29a3d74143
Add the background guide layer
2017-10-24 17:12:44 -04:00
DD
083bf63869
Add group and ungroup
2017-10-24 13:26:43 -04:00
DD
3b4f509f89
Implement ordering buttons
2017-10-23 17:20:35 -04:00
Ray Schamp
82386c2c88
Merge pull request #78 from rschamp/costume-on-submit
...
Add props for name, onUpdateName, and svgId
2017-10-23 11:56:34 -04:00
Ray Schamp
138718008c
Add SVG id prop to track costume changes
...
Since the editor will receive an update every time the svg is updated, only re-render if the actual svg id changes.
2017-10-21 16:15:55 -04:00
Ray Schamp
303b4caced
Add props for name/onUpdateName
2017-10-21 16:15:55 -04:00
DD
cc350e9056
oval mode
2017-10-20 15:01:25 -04:00
DD Liu
dbe24ed50c
lint and clean up some things
2017-10-20 14:19:52 -04:00
DD
f95bbe2ca5
Basic rectangle tool
2017-10-20 14:19:52 -04:00
DD
f9772e90ed
Remove hover. Why did I leave hover in all of these
2017-10-20 14:19:02 -04:00
DD Liu
4580fcc7d8
Merge pull request #71 from fsih/penTool
...
Pen tool
2017-10-20 14:18:04 -04:00
DD
b62c2e32cb
remove references to hover
2017-10-20 14:17:10 -04:00
DD
131193ef73
Pen tool
2017-10-20 14:17:10 -04:00
DD Liu
29ca6c66cf
Merge pull request #70 from fsih/lineToolSnapping
...
Line tool snapping
2017-10-20 14:16:51 -04:00
DD
b79bb8174f
found a better fix than the in handle = null thing
2017-10-20 14:16:23 -04:00
DD
021930eadc
fix lines getting curved when joining paths
2017-10-20 13:36:57 -04:00
DD
70ff3b656f
Fix allowing connecting lines with end points that are very close together
2017-10-20 12:02:28 -04:00
Paul Kaplan
8a5e59dd44
Merge pull request #79 from mewtaylor/issue/tool-select-ui
...
Add svg icons to tool select components
2017-10-20 11:41:24 -04:00
Matthew Taylor
2e0b34a325
Add svg icons to tool select components
...
This also adds a generic `tool-select` component which can be composed by each of the individual tools for presentation purposes.
Towards #40 .
2017-10-19 15:08:15 -04:00
DD
1c3d5d72f9
rename style path to style blob and use style path for line tool
2017-10-18 19:21:29 -04:00
DD
d27aa53fca
Fix line tool
2017-10-18 14:08:03 -04:00
DD
05d7b806a6
fix a bunch of things around import and export
2017-10-16 19:37:48 -04:00
DD
ce53a2c77e
Add oval, rect, rounded rect buttons that do nothing
2017-10-16 14:33:11 -04:00
DD
d2881b2d15
Add pen tool that does nothing. Move blob tools to helper folder.
2017-10-16 14:18:04 -04:00
Paul Kaplan
fb11d5dd5e
Merge pull request #59 from paulkaplan/color-picker
...
Color picker
2017-10-16 08:52:09 -04:00
Paul Kaplan
3eaf8047aa
Initial prototype of color picker
2017-10-13 13:34:25 -04:00
DD
4077fe828c
use scratch fork of paper
2017-10-12 18:35:30 -04:00
DD Liu
e79faa79d1
Merge pull request #51 from fsih/fixImport
...
Fix import
2017-10-12 11:26:14 -04:00
DD
affe8463be
fix undo removes cursor preview
2017-10-12 11:23:35 -04:00
DD
87eb78ad49
update stage on undo and redo
2017-10-12 11:23:35 -04:00
DD
345a43e127
merge onUpdateSvg and undoSnapshot
2017-10-12 11:23:35 -04:00
DD
28464b237b
call undo
2017-10-12 11:23:35 -04:00
DD
cb34c29db6
Fix some issues with import not centering costume
2017-10-11 17:48:21 -04:00
DD
ab244a5e4c
convert getSelectedItems(recursive) to 2 functions
2017-10-11 11:32:51 -04:00