Commit graph

821 commits

Author SHA1 Message Date
DD
ed114bb073 Move getBrushMark to helper 2018-04-26 14:54:44 -04:00
DD
86bec30790 Remove ungroup on import 2018-04-26 11:00:28 -04:00
DD Liu
0755df9990 Add line tool 2018-04-25 15:26:48 -04:00
DD
f08c3e140f Fix merge 2018-04-20 11:27:09 -04:00
DD
bec01149ea Fix review comments 2018-04-20 11:20:38 -04:00
DD Liu
b93f902827 double defaults 2018-04-20 11:17:42 -04:00
DD Liu
8d55265de1 Double resolution on import and halve on export 2018-04-20 11:17:42 -04:00
DD Liu
57f3be36ec
Merge pull request #391 from fsih/tooltips
Tooltips
2018-04-20 11:14:26 -04:00
DD Liu
99534eb24c
Merge pull request #387 from fsih/raster
Bitmap brush
2018-04-20 11:05:44 -04:00
DD
88c9f17998 fix review comments 2018-04-20 10:57:10 -04:00
DD
bfb3948244 Add coming soon tooltips to other tools 2018-04-18 15:03:34 -04:00
DD
15c3f44388 Fix lint 2018-04-17 15:55:40 -04:00
DD
d6111ed031 Remove unused code 2018-04-17 15:01:10 -04:00
DD
bda357bca6 Delete extra tools 2018-04-17 14:57:50 -04:00
DD
87d9386906 Allow odd numbers for very small brush sizes for detail 2018-04-17 14:51:34 -04:00
DD
ca42dc7735 Double pixel brush drawin working 2018-04-13 11:33:47 -04:00
Jacco Kulman
507047e245 Fix whitespace 2018-04-13 11:33:04 +02:00
Jacco Kulman
71e01dd9c4 Escape end text edit mode 2018-04-13 08:16:43 +02:00
DD
420e1013cf Use a separate state to track the size of the bitmap brush tool from the brush tool 2018-04-12 16:56:54 -04:00
DD
2043ee4609 Merge branch 'develop' into raster 2018-04-12 14:33:26 -04:00
DD
64686feb8b review comments 2018-04-12 14:27:07 -04:00
DD
c9c04745bc Hide stroke indicators in bitmap mode 2018-04-12 14:23:19 -04:00
DD
9c84537a42 Switch tools when switching editors. Pipe through vector brush size for now. 2018-04-12 10:56:16 -04:00
DD
7855ae8893 Merge branch 'develop' into raster 2018-04-11 18:05:13 -04:00
DD
a868d29d82 Add tool to bitmap editor 2018-04-11 18:04:55 -04:00
DD
8622bfab69 Merge branch 'develop' into convertToBitmapShapeRendering 2018-04-11 15:50:39 -04:00
DD Liu
bf1d4ca82a
Merge pull request #370 from fsih/convertToBitmap
Convert to bitmap
2018-04-11 15:50:18 -04:00
DD Liu
6252366759
Merge pull request #360 from fsih/fillTransparentText
Add ability to fill transparent text
2018-04-11 14:45:56 -04:00
DD Liu
e14198faea
Merge pull request #369 from fsih/boundingBoxToolOnNoSelection
Make sure to remove the bounding box when no items are selected
2018-04-11 14:32:18 -04:00
DD
41a68b1aea Merge branch 'develop' into convertToBitmap 2018-04-11 10:36:14 -04:00
DD
a4045df526 Anti-anti-alias 2018-04-10 19:06:47 -04:00
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
80b4557741 Add size, remove alias from other canvases 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
9a5a273f5b drawing some dots 2018-04-10 14:22:47 -04:00
DD Liu
f8414c3cb9
Merge pull request #368 from Jacco/issue/155
Replace png background with vector version (for #155)
2018-04-10 11:20:14 -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
8ffe666478 Merge branch 'develop' into convertToBitmap 2018-04-09 20:11:57 -04:00
DD
a6e7fb4251 update button state when undoing between modes, hide vector tools 2018-04-09 20:10:53 -04:00
DD
e5c582f86b Make sure to remove the bounding box when no items are selected 2018-04-09 17:49:39 -04:00
DD
6e4ab3191a Get undo/redo working 2018-04-09 17:47:11 -04:00
DD Liu
6d11c9988a
Merge pull request #356 from fsih/eraserDisappears
Bring back eraser after snapshot
2018-04-09 13:25:12 -04:00
Jacco Kulman
0753b7ccc1 Added a comment (TRAVIS took wrong version) 2018-04-07 08:42:32 +02:00
Jacco Kulman
d0536be3ae Fixes (const instead of let) to satisfy TRAVIS 2018-04-07 08:25:33 +02:00
Jacco Kulman
b7f0551fac Fixes (whitespace, semicolons) to satisfy TRAVIS 2018-04-07 08:20:59 +02:00
Jacco Kulman
e64f015489 Replace png background with vector version 2018-04-07 07:59:52 +02: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
436bad4826 fix nudge 2018-04-06 10:57:40 -04:00
DD
2b8c291765 Add format reducer 2018-04-05 18:06:37 -04:00
DD
e6b151c41f Re-enable convert to bitmap button 2018-04-05 18:04:29 -04:00
DD
82d2e30cae Add raster layer 2018-04-05 17:37:40 -04:00
DD
0bf2355cbc Make raster not blurry on zoom 2018-04-05 17:37:19 -04:00
DD
aff5866391 Remove unneeded applyMatrix 2018-04-04 14:50:11 -04:00
DD Liu
2e5aee5ff5
Merge pull request #359 from Jacco/issue/332
Issue/332 Rotate-tool fix
2018-04-04 14:42:19 -04:00
Jacco Kulman
c0c3531e4c Fixed issue with simplification 2018-04-04 19:36:58 +02:00
DD Liu
6c6d3a8bfb
Merge pull request #337 from Jacco/issue/301
Reduce target when fill hole with same color #301
2018-04-03 18:56:58 -04:00
DD
2b840c2f47 Add ability to fill transparent text 2018-04-03 18:21:12 -04:00
Jacco Kulman
c9d5b7d3a7 Ungrouping should not reduce CompoundPaths with 1 child 2018-04-03 23:12:24 +02:00
Jacco Kulman
e4c73da4ba Trailing space removed (Travis fix) 2018-04-03 22:54:36 +02:00
Jacco Kulman
f544a5e1f6 Simplification wwas incomplete 2018-04-03 22:36:49 +02:00
Jacco Kulman
ffc1da3b8e Rotation tool shift fix + simplification 2018-04-03 22:32:46 +02:00
alex
2397135a3a
Merge branch 'develop' into fix-editorconfig-indent 2018-04-03 01:12:45 +01:00
DD
1a2c297c7b bring back eraser after snapshot 2018-04-02 18:50:35 -04:00
DD Liu
0ff5ad991a
Merge pull request #264 from heyitsmeuralex/use-font-playground
Use sans-serif font in playground
2018-04-02 11:00:16 -04:00
Paul Kaplan
985d847a89
Merge pull request #353 from paulkaplan/disable-keyboard-shortcuts
Fix disable keyboard (woops...)
2018-03-30 13:17:03 -04:00
Paul Kaplan
943d64b437 Fix keyboard disabling 2018-03-30 13:16:11 -04:00
Paul Kaplan
7399d7d8f8
Merge pull request #352 from paulkaplan/disable-keyboard-shortcuts
Disable keyboard shortcuts because they interfere with text tool
2018-03-30 13:07:02 -04:00
Paul Kaplan
848aa7e838 Disable keyboard shortcuts because they interfere with text tool 2018-03-30 13:00:11 -04:00
Paul Kaplan
769c6560e4 Fix leading 2018-03-29 15:58:22 -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
5c0219e745 Use scratch 2 default font 2018-03-29 11:46:02 -04:00
Paul Kaplan
b1447b01da
Merge pull request #335 from Jacco/issue/219
Redraw select bounding box controls on zooming #219
2018-03-28 08:58:40 -04:00
Paul Kaplan
42abd4a33c
Merge pull request #336 from Jacco/issue/179
Line connect guide size remains same when zooming #179
2018-03-28 08:58:15 -04:00
Paul Kaplan
d9587ba8d7
Merge branch 'develop' into issue/219 2018-03-28 08:51:54 -04:00
alex
f5e17adad3 Fix editorconfig indentation rules 2018-03-26 17:17:29 +01:00
alex
ef78584045 Fix codestyle 2018-03-26 17:12:28 +01:00
Paul Kaplan
af2c49e639 Fix double clicking to enter edit mode and clearing selection.
The first was caused by the "lastMode" flag being stored after the
double click edit was done, causing it to immediately exit edit mode.
The second problem was that the selection should be cleared when
entering edit mode on another text area.
2018-03-26 11:23:55 -04:00
Jacco Kulman
5593b03074 Added the setSelectedItems call for wheel zooming 2018-03-26 16:40:59 +02:00
Jacco Kulman
a98ba28152 Fix 2 TRAVIS errors (whitespace, let) 2018-03-26 14:53:33 +02:00
Jacco Kulman
f707af70fd When removing a hole, the parent should be reduced before fillColor is set 2018-03-26 13:46:25 +02:00
Jacco Kulman
0198265fb8 The radius of the circle is now divided by paper.view.zoom, and the strokeWidth also. (Fixes #179) 2018-03-26 13:30:11 +02:00
Jacco Kulman
3afd232aea Call setSelectedItems from zoom functions (Fixes #219) 2018-03-26 12:59:26 +02:00
DD
b98708ff70 Make clicking outside of the canvas activate select mode. This way the user can change the fill color easily, instead of the text getting deselected as soon as they click fill. 2018-03-22 17:56:54 -04: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
3782d5ad6e Add missing file 2018-03-22 16:22:38 -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
0c4f545326 Add transform when zoomed in 2018-03-22 14:34:46 -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
1d29a7dceb Showing text on top of other text 2018-03-20 17:26:27 -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 Liu
724fe85645
Merge pull request #325 from fsih/unfocusText
Unfocus text fields when canvas clicked and don't take keystrokes in canvas when text fields are focused
2018-03-20 14:06:59 -04:00
DD
1c093df92b Only unblur inputs if you clicked on the paper canvas 2018-03-20 11:03:41 -04:00
DD
44eedfe225 Remove unnecessary changes 2018-03-19 14:50:05 -04:00
DD
b4294b8268 Merge branch 'develop' into textTool 2018-03-19 12:43:44 -04:00
DD Liu
de2d58fd79
Merge pull request #323 from fsih/playgroundSvg
Move the SVG in the playground back to the center of the editor
2018-03-16 15:08:03 -04:00
DD
a03567ef18 Switch to .1 2018-03-16 14:23:59 -04:00
DD
69e73d45dd Use .25 2018-03-16 14:18:42 -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
254bbe1285 Ignore nudge when text field focused 2018-03-15 13:19:05 -04:00
DD
76eb0b9e3e Reduce the overlap to .25 2018-03-14 18:12:37 -04:00
DD
8ecc426844 Move the SVG in the playground back to the center of the editor. It became offscreen when the definition of rotation center changed. 2018-03-14 18:01:15 -04:00
DD
f9aabe1beb Fix some bugs 2018-03-14 18:00:38 -04:00
DD
240282f9d2 Make the guide stay in the shape of the text when text is rotated 2018-03-14 16:01:20 -04:00
DD
f0b570dc51 Add dotted lines in text edit mode 2018-03-14 15:28:22 -04:00
DD
4fd9f991f1 Mode switching 2018-03-14 14:43:39 -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
ccdb6431b5 Merge branch 'develop' into brushEfficiency 2018-03-08 11:43:50 -05:00
DD Liu
eff43e2eec
Merge pull request #304 from fsih/removePaperUpdate
Remove all view.draw and view.update
2018-03-06 16:24:45 -05:00
DD Liu
543c002329
Merge pull request #300 from fsih/undoLimit
Add an undo stack size limit to paint
2018-03-05 10:22:49 -05:00
DD
43b0bf40e5 Add jsdoc 2018-03-02 10:38:35 -05:00
DD
5783b69f0a Don't error if there are no segments 2018-03-01 17:14:09 -05:00
DD
0323451ebf Fix crash when missing cursor preview 2018-03-01 16:37:45 -05:00
DD
24b1359abf Make mouse movement accuracy depend on zoom level 2018-03-01 15:26:22 -05:00
DD
abe8deaa35 Make sure to clear the cursor preview when saving undo state so that it doesnt mysteriously return on undo 2018-03-01 14:41:39 -05:00
DD
9a8c68e9d1 Remove all view.draw and view.update 2018-03-01 14:32:16 -05:00
DD
b064db5309 add comments 2018-03-01 14:27:10 -05:00
DD
0943d8d0a1 Add end caps to round out flat edges. Significantly increase the threshold for using broad brush helper now that its able to handle end caps better. Also make the threshold depend on zoom level. 2018-03-01 14:22:34 -05:00
DD
f9a9aa8feb drawing caps and fixing bugs 2018-02-28 20:06:51 -05:00
DD
5aca0c83a2 Clean up amortized simplify 2018-02-28 18:23:54 -05:00
DD
64e628576b Remove all view.updates 2018-02-28 15:20:24 -05:00
DD
7d56dc6829 amortized smoothing 2018-02-27 11:22:38 -05:00
DD
9ab90d1576 periodic smoothing 2018-02-27 11:22:38 -05:00
DD
24032192c8 remove cursor preview when drawing and paper.view.draw 2018-02-27 11:22:38 -05:00
DD
b93ce53694 Add an undo stack size limit to paint 2018-02-27 10:59:30 -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
2bae8ed71a Mark all clickable images as not draggable.
When using images as clickable elements (within buttons or alone) you
need to mark them as not draggable. They are draggable by default and
starting a drag prevents the onClick from being handled, messing up the
clickable behavior.
2018-02-09 09:32:00 -05:00
Paul Kaplan
13d0f13170
Merge pull request #289 from paulkaplan/fix-zoom-bounds
Change pan/zoom bounds to 360/480 to match the real bounds.
2018-02-08 11:10:14 -05:00
Paul Kaplan
b4b93a4982 Change pan/zoom bounds to 360/480 to match the real bounds. 2018-02-08 08:49:52 -05:00
Paul Kaplan
c87e3e021a
Merge pull request #283 from paulkaplan/fix-chrome-eyedropper-bug
Temporary fix for eyedropper issue in Chrome 64
2018-02-07 12:37:58 -05:00
Paul Kaplan
d648fef0ee
Merge pull request #285 from paulkaplan/fix-input-nudging
Don't nudge selection when input is focused
2018-02-07 12:32:44 -05:00
Paul Kaplan
7f83411653 Use the same syntax as the delete key 2018-02-07 11:35:59 -05:00
Paul Kaplan
09145a3bf1 Bail if input is target of nudge 2018-02-06 20:14:58 -05:00
Paul Kaplan
3a1e88eb5e Only update the selection bounds if a nudge actually occurs
This was causing the problem where holding shift while dragging would
trigger the selection box to be shown, interrupting the drag.
2018-02-06 19:15:25 -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
0f25c65217
Merge pull request #271 from fsih/nudge
Nudge
2018-01-29 11:29:11 -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
53927bf615 Move key handlers into their own file, and add to oval and rect tools 2018-01-25 16:39:38 -05:00
DD
f3dcc54bf3 nudge 2018-01-25 16:00:50 -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
alex
1cd68892c8 Use sans-serif font in playground
Caused some cascade issues where you'd see default fonts in components (i.e. serif). This is only for the playground as, I imagine, in scratch-3.0 this font style would be inherited.
2018-01-21 10:52:34 +00: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
Paul Kaplan
243b8ccbb6 Add touch support for sliders include click-to-change on slider BG 2018-01-19 09:32:59 -05:00
DD Liu
bd06cd4e24
Merge pull request #254 from fsih/backgroundUndo
Add an initial undo state when importing a blank costume
2018-01-12 15:34:53 -05:00
DD
379ecf85fc Add an initial undo state when importing a blank costume 2018-01-12 11:22:26 -05:00
DD
8439a6387e Clean up the cursor preview when it is removed from its parent 2018-01-11 18:50:42 -05:00
DD
1f76e7de4c fix lint 2018-01-10 15:10:39 -05:00
DD
d0ca6e7174 Set a width on stroke width, brush and eraser width inputs 2018-01-10 15:05:40 -05:00
Matthew Taylor
90defd1634 set enterExitDuration to imperceptibly small value
#226 appears to be caused when the duration in ms is below a certain value, which is why we don’t see it in other popovers. I’m not sure exactly what may be causing this in the `react-popover` library and will open an issue about it, but for now, 20ms is imperceptibly fast, and removes the error.
2017-12-29 09:20:29 -05:00
DD Liu
a4780d2207
Merge pull request #243 from fsih/flip
Flip
2017-12-27 14:58:49 -05:00
DD
ffca22618d add input group 2017-12-27 14:31:18 -05:00
Matthew Taylor
7ee2c7e6b7
Merge pull request #240 from mewtaylor/issue/gui-830
Finish GUI-830: Add "coming soon" for bitmap, text tool
2017-12-26 12:04:02 -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
Matthew Taylor
bb7e66d26b add an explicit width on the costume input
this fixes an issue with windows and the width of the top menu row
2017-12-22 17:02:48 -05:00
DD
db5ddcbe87 Change handle ratio to make squares circles 2017-12-22 11:32:06 -05:00
Matthew Taylor
900897c767 Edit copy/paste icons 2017-12-22 10:40:08 -05:00
Matthew Taylor
42399fe815 Add optional class to fill/stroke groups
And add a margin between them on the fill tool
2017-12-22 10:23:30 -05:00
Matthew Taylor
41297d3029 small css edits from @carljbowman 2017-12-22 09:59:33 -05:00
DD
396e73e640 internationalize messages 2017-12-21 17:18:17 -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
18db05fdce Show curved and pointed icons 2017-12-21 15:38:24 -05:00
Matthew Taylor
53034baa30 disable lint for empty function for now 2017-12-21 11:42:07 -05:00
Matthew Taylor
7cbe687c18 Add coming soon for bitmap, text tool 2017-12-21 11:24:38 -05:00
DD Liu
c1010b95fb
Merge pull request #239 from fsih/breakOutMode
Break out mode tools
2017-12-20 15:38:13 -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
7086916089
Merge pull request #238 from fsih/handleLength
Don't change opposite handle length when changing handle length
2017-12-20 13:35:07 -05:00
DD
e199c0f39d Don't change opposite handle length when changing handle length 2017-12-20 12:11:17 -05:00
DD
31200665c0 Remove the bounds path when you finish scaling 2017-12-19 17:10:55 -05:00
DD Liu
a35a0f7933
Merge pull request #221 from fsih/fill
Fill tool
2017-12-19 16:43:14 -05:00
DD
0fe9c5d453 Make boolean expression more readable 2017-12-19 16:38:44 -05:00
DD
dcabea2a99 Convert SVGs to clockwise when importing 2017-12-19 14:40:00 -05:00
DD
9c98507597 Take out fill-caused grouping 2017-12-19 13:47:39 -05:00
DD
80a5238461 Fix a bug where when we reduce a compound path, the child doesnt inherit the style 2017-12-19 13:47:39 -05:00
DD
bda56d0a41 Add the right icon 2017-12-19 13:47:39 -05:00
DD
814ec160b3 Fill tool for fills (not strokes) 2017-12-19 13:47:39 -05:00
DD
045dcf211c Expand filled holes by 1 px to avoid a gap between fill and outline 2017-12-19 13:47:39 -05:00
DD
207341f47f Basic fill tool 2017-12-19 13:47:39 -05:00
DD Liu
9b5383eb50
Merge pull request #231 from fsih/fillWithTransparent
Null checks for fill with transparent
2017-12-19 13:34:29 -05:00
DD
45dea42863 merge match stroke color and match fill color 2017-12-19 13:19:01 -05:00
Paul Kaplan
01242aa1c1
Merge pull request #229 from paulkaplan/fix-stroke-color-eyedropping
Add missing code for updating stroke color from eyedropper
2017-12-19 12:01:38 -05:00
DD
b8c0b29aea Null checks for fill with transparent 2017-12-19 11:59:54 -05:00
DD Liu
482c994112
Merge pull request #222 from fsih/showOutline
Show bounding box outline when moving and scaling in the select tool
2017-12-19 11:07:13 -05:00
Paul Kaplan
bdd70165c8 Add missing code for updating stroke color from eyedropper 2017-12-19 10:47:12 -05:00
DD
8dbed6ff77 When a piece of a compound path is selected, treat it as the whole compound path. 2017-12-18 12:02:35 -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
7df3d69fc6 small styling updates
make the swatches aligned in gui, and make sure the cursor shows when not eye dropping. Also moves eye dropper initialization into the helper. Thanks @paulkaplan!
2017-12-15 10:37:31 -05:00
Matthew Taylor
73dce6ca50 add comment to colorInfo shape 2017-12-15 10:10:55 -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
DD
ac6914afc4 Show bounding box when moving and scaling in the select tool 2017-12-14 19:17:06 -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
5caf6b7157 remove unused reference 2017-12-14 12:57:41 -05:00
Matthew Taylor
b49810a56d remove empty box css file 2017-12-14 08:54:02 -05:00
Matthew Taylor
d87adbeac5 remove shouldComponentUpdate
also do proper validation of `previousTool`
2017-12-13 17:18:53 -05:00
DD Liu
29cc3b72a0
Merge pull request #214 from fsih/selectionBoxHandles
Selection box handles
2017-12-13 16:04:31 -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
DD
e9392d4b2b Remove template 2017-12-12 12:23:02 -05:00
DD
accdbb0fc3 Selection box handle design 2017-12-12 11:42:19 -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
54f8abacfc Show the bounding box after switching to select tool and transforming 2017-12-05 12:13:31 -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
Matthew Taylor
b48da92b9d squish buttons together a bit more on tablet 2017-11-13 07:45:22 -05:00
Matthew Taylor
351b3bb6e7 Add font family to menu items
popovers need explicit font family set
2017-11-09 16:03:57 -05:00
DD
420db40145 Improve cursor preview, don't redraw the circle every frame it changes 2017-11-08 15:36:21 -05:00
Matthew Taylor
6930da0644 fix linting
thanks @fsih!
2017-11-08 15:30:32 -05:00
Matthew Taylor
58355ea4c7 Add back in missing props
Whoops! Thanks @fsih
2017-11-08 15:05:30 -05:00
DD
d918fc0bda Clean up selection state 2017-11-08 13:33:57 -05:00
DD Liu
406a212053
Merge pull request #195 from fsih/strokeWidthFix
Clean up the scale tool
2017-11-08 13:31:50 -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
Matthew Taylor
e384c07e3d fix linting, tests 2017-11-08 10:13:17 -05:00
DD Liu
ba6de5accc
Merge pull request #191 from mewtaylor/issue/gh-131-again
GH-131 Again: remove `small` from live inputs
2017-11-08 08:32:55 -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
DD
f854a296a2 Clean up 2017-11-07 17:49:30 -05:00
Matthew Taylor
018f9b28a6 add min width layout for tablet 2017-11-07 14:08:26 -05:00
Matthew Taylor
250e3ea089 fix validation 2017-11-07 14:04:54 -05:00
Matthew Taylor
95099d6e90 move modes to lib 2017-11-07 14:02:39 -05:00
DD Liu
13693e7fc0
Merge pull request #190 from fsih/NaNaNaNaNaNaNaNaN
Indicate gradients as mixed for now
2017-11-07 11:29:08 -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
Matthew Taylor
c347460034 remove small from live inputs
Fixes #131 by instead of changing the small width, simply just removing the small tag from things that don’t need it.
2017-11-07 09:37:12 -05:00
DD
ff554fabd4 Indicate gradients as mixed for now 2017-11-06 15:06:05 -05:00
DD Liu
46ff0bd3e1
Merge pull request #180 from fsih/modeGuard
Fix null mode issue
2017-11-06 10:17:33 -05:00
Matthew Taylor
88b2d3bf8f remove space
apologies – this happened during the manual merge.
2017-11-06 09:07:18 -05:00
Matthew Taylor
8697922d3b Merge branch 'issue/gh-122' into develop
* issue/gh-122:
  check min too
  Validate max value in live input
  create liveinput hoc instead
  change size inputs to input with custon onChange

# Conflicts:
#	src/components/mode-tools/mode-tools.jsx
2017-11-06 08:11:48 -05:00
DD
3c5ba7a08c Fix null mode issue 2017-11-03 18:11:48 -04:00
Matthew Taylor
e39b4edce1 check min too 2017-11-03 12:49:34 -04:00
Matthew Taylor
9eb3b7af39 Validate max value in live input
Also snap to max if the value is larger. Thanks @fsih!
2017-11-02 22:15:25 -04:00
DD
a9b55b9a22 Try to make layer management more robust 2017-11-02 17:19:42 -04:00
DD Liu
ffa4721e49
Merge pull request #118 from fsih/eraserDonuts
Fix erasing with holes
2017-11-02 14:27:49 -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
Matthew Taylor
d2952c2114 create liveinput hoc instead
this should solve the issue of being able to delete what you typed. Thanks!
2017-11-01 15:57:31 -04:00
Matthew Taylor
7dbabf60a9 change size inputs to input with custon onChange
This fixes #122 by reverting the changes to `bufferedInputHOC`, and adding a custom `onChange` handler to the mode tools for brush and eraser, and making them `Input` components. Same goes for the strok width indicator.
2017-11-01 13:41:36 -04:00
DD
1a654a22ed Move copy/paste to mode tools 2017-11-01 11:15:13 -04:00
Matthew Taylor
65b59f6e0a fix typo
thanks @fsih!
2017-10-31 16:32:37 -04:00
Matthew Taylor
f2e031e787 make alt optional for labeled buttons
Also add labels to `defineMessages` for localization. Thanks @fsih!
2017-10-31 15:03:51 -04:00
Matthew Taylor
858a4fbef3 Add disabled copy/paste buttons
This is for #134 – adds copy/paste buttons to the second row of tools, and keeps them in a disabled state for now, while they’re not usable. It also moves icons into a subfolder, given their proliferation in the paint editor component
2017-10-31 13:45:09 -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 Liu
a35253c5e8
Merge pull request #168 from fsih/removePen
Remove pen
2017-10-31 10:24:29 -04:00
Matthew Taylor
040baf5b82 Add a larger width on small inputs
Fixes #131 – I ended up deciding to do this for all inputs because the original `3rem` makes it cut off text past 1 char for any input that is only `3rem`, so `3.5rem` seemed like an okay width for this component.
2017-10-31 08:26:52 -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
3becde590d
Merge pull request #159 from paulkaplan/aggregate-color-updates
Only submit SVG changes when color picker closes
2017-10-30 11:16:50 -04:00
Paul Kaplan
1f6f7b2405
Merge pull request #158 from paulkaplan/hide-box-on-mixed
Only show outline box if not mixed colors
2017-10-30 11:16:24 -04:00
Paul Kaplan
3dab6ef7f0 Fix nits 2017-10-30 11:13:29 -04:00
Paul Kaplan
a7c3566fe8
Merge pull request #163 from paulkaplan/fix-outline-box-position
Make outline box in color button centered
2017-10-30 11:09:07 -04:00
Paul Kaplan
8fdab88996
Merge pull request #160 from paulkaplan/fix-slider-ranges
Make color sliders go from 0 to 100
2017-10-30 11:09:00 -04:00
Paul Kaplan
c4da530240 Make outline box in color button centered 2017-10-30 09:52:49 -04:00
Paul Kaplan
b78b99b3a9 Make color sliders go from 0 to 100 2017-10-29 14:51:25 -04:00
Paul Kaplan
7cc3ecf74b Only submit SVG changes when color picker closes 2017-10-29 14:10:43 -04:00
Paul Kaplan
c43d510860 Swap zoom in and out buttons 2017-10-29 13:36:53 -04:00
DD
c41c31ac3e fix comment 2017-10-27 13:35:28 -04:00
DD
85d7090ad0 Make sure chirality of subtracted path is correct. Sort pieces by area so that we check for holes in most nested pieces first. This breaks if paths cross themselves. 2017-10-27 13:30:22 -04:00
Paul Kaplan
7622d02184 Only show outline box if not mixed colors 2017-10-27 11:37:08 -04:00
DD
819215786f fix erase with holes in it, but it still doesn't work if you erase crazy path with crazy path 2017-10-27 11:20:45 -04:00
Paul Kaplan
76b9efabeb Allow ctrl key to zoom 2017-10-27 11:18:21 -04:00
Paul Kaplan
172526b8ad Remove "icon" from alt text 2017-10-27 10:59:26 -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
770a138e21 Fix linting 2017-10-27 10:06:01 -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
da12930e00 Fix linting 2017-10-27 09:33:06 -04:00
Paul Kaplan
94b90e104b Add basic zooming and panning from mousewheel 2017-10-27 09:12:31 -04:00
Matthew Taylor
bbf47b8eeb Remove user select state from form fields in paint
Also add a pointer curser to the color-button html elements so that it’s clear those are clickable
2017-10-27 08:37:28 -04:00
Paul Kaplan
c1ce433f72 Merge pull request #112 from paulkaplan/transparent-state
Fix several color state inconsistencies
2017-10-27 08:20:09 -04:00
Paul Kaplan
e4387739a5 Remove not required prop 2017-10-26 18:17:33 -04:00
Paul Kaplan
433baae5ba Fix linting 2017-10-26 18:16:14 -04:00
Paul Kaplan
68c6f69211 Add box to make outline different from fill button 2017-10-26 18:09:27 -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
Paul Kaplan
d98a493954 Add initial transparent and mixed icons for color buttons and swatch 2017-10-26 17:43:06 -04:00
DD
7c8c9aa23d change default color to looks purple 2017-10-26 16:41:01 -04:00
DD
ad28e1ff16 Change default fill color to motion blue 2017-10-26 15:58:02 -04:00
Matthew Taylor
162ca81ff9 comment out currently disabled imports 2017-10-26 15:48:20 -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
Matthew Taylor
0f726c9d40 comment out disabled mode tools for now 2017-10-26 14:20:39 -04:00
Matthew Taylor
cdb235a876 Change border on disabled undo/enabled redo
thanks @fsih
2017-10-26 14:03:09 -04:00
DD
6e589e8f81 case 2017-10-26 12:05:54 -04:00
DD
2019196256 Do onUpdateSvg only once on changing stroke width 2017-10-26 11:28:10 -04:00
DD
7ca851985e Move delete out of tools so its always available 2017-10-26 11:25:38 -04:00
Matthew Taylor
9ef967aa24 pass props to button from labeled button
so that we don’t have to check for things like `disabled` twice.
2017-10-26 11:02:01 -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
Matthew Taylor
128f9ca642 Add bool to disabled prop type
fixes a warning that @paulkaplan noticed, thanks!
2017-10-26 09:26:54 -04:00
DD Liu
4e7a1fab40 Merge pull request #97 from fsih/crosshair
Add the background guide layer
2017-10-25 17:26:47 -04:00
DD
8fccfb3dc3 Use content-box so that we dont have edges around the border 2017-10-25 16:47:56 -04:00
Matthew Taylor
a38b1f6121 Add disabled state for button
This implements #47 by adding a disabled state to the button component, and then by applying it to top row buttons for group/ungroup, and front/back forward/backward.
2017-10-25 16:44:04 -04:00
Matthew Taylor
c1862284ff Remove unused reference 2017-10-25 15:23:30 -04:00
DD
67562c8799 Use a raster for the guid layer background 2017-10-25 14:47:40 -04:00
Matthew Taylor
117c24787a remove unused reference 2017-10-25 14:36:08 -04:00
Matthew Taylor
e2fd966ae9 Increase max size to 1 2017-10-25 14:22:36 -04:00
Matthew Taylor
3574918f23 Add comment, and adjust handleChange()
make `e.target.value` the submitted thing, rather than `this.props.value`
2017-10-25 14:15:02 -04:00
Matthew Taylor
90c485ba23 remove half-baked slider stuff
whoops!
2017-10-25 13:51:57 -04:00
Matthew Taylor
ea36e10577 Add basic eraser and brush size picker
this implements the first version of #36 and #37, in which the brush size picker is a numeric input field rather than a slider.
2017-10-25 13:37:41 -04:00
DD
29f5cc7216 fix undo snapshotting with the background guide layer 2017-10-24 17:37:55 -04:00
DD
29a3d74143 Add the background guide layer 2017-10-24 17:12:44 -04:00
Paul Kaplan
4d0f3e8311 Update default mode in reducer 2017-10-24 15:52:39 -04:00
Paul Kaplan
4e9108e8e3 Update default mode order 2017-10-24 15:51:57 -04:00
Paul Kaplan
748bd44cbc Merge pull request #92 from paulkaplan/update-color-language
Change "Hue" to "Color" in color picker
2017-10-24 15:01:14 -04:00
DD
251967fefb fix merge 2017-10-24 13:27:09 -04:00
DD
a538d10992 Add comments to group code 2017-10-24 13:26:43 -04:00
DD
083bf63869 Add group and ungroup 2017-10-24 13:26:43 -04:00
Matthew Taylor
091201756b Add UI formatting for edit fields
This adds formatting and icons to the edit field buttons at the top of the ui, as well as some additional components for abstraction – such as `InputGroup`, `ButtonGroup` and `EditFieldButton` (which is a subcomponent of the paint editor)
2017-10-24 13:25:44 -04:00
Paul Kaplan
0bc3f12475 Change "Hue" to "Color" in color picker 2017-10-24 09:27:23 -04:00
Matthew Taylor
3fd72e775d remove svg for now
fix lint error since this is not used while rotation point is not part of the ui
2017-10-23 17:27:08 -04:00
DD
3b4f509f89 Implement ordering buttons 2017-10-23 17:20:35 -04:00