Commit graph

429 commits

Author SHA1 Message Date
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
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