Commit graph

821 commits

Author SHA1 Message Date
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
Matthew Taylor
c3f578c140 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-23 17:19:44 -04:00
Matthew Taylor
1963d9d0db Merge branch 'issue/edit-field-ui' of https://github.com/mewtaylor/scratch-paint into develop
* 'issue/edit-field-ui' of https://github.com/mewtaylor/scratch-paint:
  Hide rotation point button for now
  Add UI formatting for edit fields

# Conflicts:
#	src/components/paint-editor/paint-editor.jsx
2017-10-23 17:08:56 -04:00
Matthew Taylor
f44bd4b7fd Hide rotation point button for now
thanks @fsih!
2017-10-23 15:56:38 -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
DD Liu
1caf47a891 Merge pull request #86 from fsih/deleteShapes
Delete shapes
2017-10-23 11:27:03 -04:00
DD Liu
c2f561829e Merge pull request #85 from fsih/ovalTool
Oval mode
2017-10-23 11:16:39 -04:00
Matthew Taylor
2fe9ac12a7 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-23 10:35:30 -04:00
DD Liu
7e5c14a982 Merge pull request #87 from fsih/fixApplyStrokeColor
Fix color matching logic in apply stroke color
2017-10-23 09:13:19 -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
Paul Kaplan
6e9a2ef178 Merge pull request #81 from fsih/rectTool
Rectangle drawing tool
2017-10-20 15:57:52 -04:00
DD
30e21e5d1c Fix color matching logic in apply stroke color 2017-10-20 15:57:48 -04:00
Paul Kaplan
65dbf70fa1 Merge pull request #84 from mewtaylor/issue/gh-83
Fix GH-83: Move paint-specific styling out of button
2017-10-20 15:57:38 -04:00
DD
059eb1fc1d hook up delete key for rect and oval 2017-10-20 15:19:14 -04:00
DD
cc350e9056 oval mode 2017-10-20 15:01:25 -04:00
DD
4fcb908ad5 Fix another issue caused by undo causing layers to be selected 2017-10-20 14:54:21 -04:00
Matthew Taylor
79661622fc Move paint-specific styling out of button
Fixes #83 by making sure the copied-over button component has the same styling as in gui too, and move specifics to composing components
2017-10-20 14:29:49 -04:00
DD
7f4812ad55 remove debug 2017-10-20 14:19:52 -04:00
DD
d6fc238359 Fix an issue where undoing when there is a bounding box would cause the whole layer to be selected 2017-10-20 14:19:52 -04:00
DD Liu
dbe24ed50c lint and clean up some things 2017-10-20 14:19:52 -04:00
DD
6732483d80 Add selection tool to rect 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 Liu
da15ed392a Merge pull request #73 from fsih/eraseThroughGroups
Allow erase through groups
2017-10-20 14:15:54 -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
26dbb30a83 update css paths 2017-10-19 16:40:00 -04:00
Matthew Taylor
b1ca3f29d5 Rename paint-editor to new folder too
and update click tests to just look at the base component
2017-10-19 16:37:39 -04:00
Matthew Taylor
1abb10d320 change comment style to match other files 2017-10-19 15:41:59 -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
e425fc6dcb Allow erase through groups 2017-10-19 11:48:14 -04:00
chrisgarrity
ced3563fda Adding scratch-l10n dependency
* Added .tx configuation to be able to send source strings to transifex
* added dependency on scratch-l10n 2.x, and removed everything related to generating the l10n messages locally
* updated playground intl reducer to use paint messages from l10n package
2017-10-19 08:34:13 -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 Liu
c49a469eda Merge pull request #67 from fsih/toolButtons
Tool buttons
2017-10-16 16:32:38 -04:00
DD
946b6b0d87 Add back caveat for fully selected shapes, since code to remove handles when a shape is fully selected is in the paper fork we are using 2017-10-16 14:38:05 -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
e2e4823642 Fix with feedback from DD 2017-10-13 14:24:07 -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
ae3c0f1eed Fix lint 2017-10-12 11:28:23 -04:00
DD
64c6ddedaf Fix bugs during select and drag 2017-10-12 11:28:23 -04:00
DD Liu
e79faa79d1 Merge pull request #51 from fsih/fixImport
Fix import
2017-10-12 11:26:14 -04:00
DD
9242faffa6 fix typo 2017-10-12 11:23:35 -04:00
DD
49b197eba2 Revert "remove the default imported costume"
This reverts commit 879297ca95640b41e3e1fbe989a6323912bd7470.
2017-10-12 11:23:35 -04:00
DD
1d0ffef40f Revert "Make unimplemented buttons grey"
This reverts commit c320a0b6416887b916853d6265cc123bca776b57.
2017-10-12 11:23:35 -04:00
DD
affe8463be fix undo removes cursor preview 2017-10-12 11:23:35 -04:00
DD
4d9ecb2a2c fix lint 2017-10-12 11:23:35 -04:00
DD
4d0e2b4c44 remove the default imported costume 2017-10-12 11:23:35 -04:00
DD
01d1ddec9d Make unimplemented buttons grey 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
7523af09f0 add missing file 2017-10-12 11:23:35 -04:00
DD
345a43e127 merge onUpdateSvg and undoSnapshot 2017-10-12 11:23:35 -04:00
DD
4300924671 clean up unused things in selection so I dont have to add undo to them 2017-10-12 11:23:35 -04:00
DD
28464b237b call undo 2017-10-12 11:23:35 -04:00
DD
8baf731328 add undo reducer 2017-10-12 11:22:40 -04:00
DD
cb34c29db6 Fix some issues with import not centering costume 2017-10-11 17:48:21 -04:00
DD
f7cd7fc54d fix function 2017-10-11 11:58:05 -04:00
DD
ab244a5e4c convert getSelectedItems(recursive) to 2 functions 2017-10-11 11:32:51 -04:00
DD
60a310ae85 remove unused 2017-10-03 18:13:12 -04:00
DD
aa2b70f1e7 Add missing clearSelectedItems function to blob 2017-10-03 17:53:06 -04:00
DD
e4f1a5ad28 clean up and add comment 2017-10-03 15:17:27 -04:00
DD
720f83605d add tests 2017-10-03 15:04:53 -04:00
DD
7a9399d0db fix lint 2017-10-03 13:45:19 -04:00
DD
b87c17523a Selection sets and gets fill/stroke color/width 2017-10-03 12:07:56 -04:00
DD
6bcd59f388 add comments 2017-09-22 14:14:48 -04:00
DD
33236f198d fix hit testing 2017-09-22 14:08:19 -04:00
DD
33d8dd30b5 release things on deactivate 2017-09-22 14:02:43 -04:00
DD
32661dde92 switch to use id instead of hovered item 2017-09-22 13:56:58 -04:00
DD
7e1375d855 Switch state to track hover item ID instead of item itself 2017-09-22 13:48:48 -04:00
DD
3bb606e16a move hit options declaration into function 2017-09-22 12:31:39 -04:00
DD
adbd023551 fix being able to select subgroups again 2017-09-22 12:22:20 -04:00
DD
5db66af0a1 add comments and clean up 2017-09-22 12:12:24 -04:00
DD
dc66283bd2 Fix select tool being able to select sub pieces of groups, fix bounding box showing after delete 2017-09-22 11:12:27 -04:00
DD
340316565b add select tool file 2017-09-21 18:39:18 -04:00
DD
4bc4d92415 Move select tool out of select mode 2017-09-21 18:39:00 -04:00
DD
f15a3dbe02 Add reshape 2017-09-21 10:36:26 -04:00
DD
b8de3dcc3a Add reshape button 2017-09-18 11:28:43 -04:00
DD
9a09c4324d the declarations done to avoid lint errors actually broke hover, so put them back 2017-09-14 17:53:28 -04:00
DD
67ac013edf prune unused function and lint 2017-09-14 14:34:45 -04:00
DD
25478a87fb add tests 2017-09-14 11:56:12 -04:00
DD
6048c9f866 hook into other tools 2017-09-13 17:58:27 -04:00
DD
3fa8073bd1 get scale working 2017-09-13 17:45:06 -04:00
DD
9216098a3f get rotate working 2017-09-13 16:59:37 -04:00
DD
0e91439edd Get move working 2017-09-13 15:17:59 -04:00
DD
3126c2ca7f correct stroke width type" 2017-09-12 17:43:53 -04:00
DD
448ff9bfe4 Add more selection files 2017-09-12 17:39:25 -04:00
DD
ef367646fb Merge branch 'strokeWidth' into select 2017-09-11 14:01:35 -04:00
DD
4e29f31639 convert container to not a component 2017-09-11 13:54:48 -04:00
DD
9f40c633f8 Merge branch 'fillStrokeColor' into strokeWidth 2017-09-11 13:53:12 -04:00
DD
d9b683b42c remove tab index 2017-09-11 13:36:07 -04:00
DD
499635ddf1 convert containers to mysterious non-components 2017-09-11 13:28:35 -04:00
DD
2c98f61d69 Merge branch 'develop' into fillStrokeColor 2017-09-11 11:29:32 -04:00
DD
2121a4f438 Add comments on copied files 2017-09-11 11:13:43 -04:00
DD
a05fb5463b remove sound editor specific CSS 2017-09-11 11:05:02 -04:00
DD
cf75703580 In-progress add select mode 2017-09-11 10:52:00 -04:00
DD
a2cd53b159 add stroke width indicator 2017-09-08 11:52:36 -04:00
DD
e0ed034044 don't apply stroke color to brush 2017-09-08 11:41:40 -04:00
DD
6f11c5ec1c don't apply stroke color to brush 2017-09-08 11:41:21 -04:00
DD
ce8fdaac1c pipe through stroke color 2017-09-07 18:36:35 -04:00
DD
74ff77a38d add stroke color to state 2017-09-07 17:59:14 -04:00
DD
1088de519f nest fill color in a color state. Pipe fill color to brush 2017-09-07 17:49:41 -04:00
DD
9e4c510372 add fill color component 2017-09-07 17:12:50 -04:00
DD
f96c26ddbe newlines 2017-09-06 18:10:19 -04:00
DD
4c6898657b Bring in buffered input from GUI 2017-09-06 18:01:49 -04:00
DD
09dad3df7d Merge branch 'develop' into structure 2017-09-06 15:25:49 -04:00
DD
23693f3764 get rid of null check, since onUpdateSvg is required 2017-09-05 18:00:41 -04:00
DD
36016bbd11 Handle removing the viewbox and centering 2017-09-05 15:53:26 -04:00
DD
b0d29a946b Pipe through updateSvg and call it whenever a tool finishes an action 2017-08-30 18:43:34 -04:00
DD
162bf7e335 Merge branch 'develop' into importExport 2017-08-30 14:52:47 -04:00
DD
c228a191cb fix lint 2017-08-30 10:56:30 -04:00
DD
cf19fc556f Merge branch 'develop' into addLine 2017-08-30 10:51:25 -04:00
DD
bb71f56817 css 2017-08-30 10:50:24 -04:00
DD
633ecd2399 load an svg string 2017-08-30 10:50:05 -04:00
DD
2c64c45101 fix lint errors 2017-08-29 17:24:40 -04:00
DD
82fc11ebab add structure 2017-08-29 17:20:08 -04:00
DD
ad5df04f1e Changes to the webpack build to make paint compatible with installing into gui 2017-08-28 18:16:35 -04:00
DD
dd27974d07 clean up in deactivate 2017-08-25 14:00:30 -04:00
DD
cc50a14e1d Merge branch 'develop' into addLine 2017-08-25 13:55:19 -04:00
DD
7989387078 Merge branch 'develop' into addLine 2017-08-25 11:35:05 -04:00
a622d0d3e9 add tests 2017-08-24 17:49:22 -04:00
DD Liu
c2cae279b7 Add line mode 2017-08-23 19:01:29 -04:00
DD Liu
4c528a6ad9 Merge branch 'addButtons' into addI18n 2017-08-23 11:00:46 -04:00
DD Liu
8616e49f1a change comment 2017-08-23 10:56:37 -04:00
DD Liu
9521203e19 move the intl stuff to playground 2017-08-22 18:22:59 -04:00
DD Liu
ac024c6c6b make helper mouse functions have consistent interface 2017-08-22 16:39:34 -04:00
DD Liu
b40ccd46a9 make helper mouse functions have consistent interface 2017-08-22 16:29:50 -04:00
DD Liu
11d43e0006 add i18n support 2017-08-21 17:58:38 -04:00
DD Liu
ff77bb6a3d add rendered components for brush and eraser 2017-08-17 18:13:24 -04:00
DD Liu
6ede893585 Bring over new bug fixes from papergrapher 2017-08-17 16:50:30 -04:00
DD Liu
a875bee81c move blob helper files 2017-08-17 13:53:54 -04:00
DD Liu
f325ae43ee move isEraser to options 2017-08-17 13:40:39 -04:00
DD Liu
4ea7d154ee Change broad brush helper and segment brush helper into their own classes, instead of adding functions to tool 2017-08-16 17:44:52 -04:00
DD Liu
33a01c1396 make modes independent of tool. Fix tests 2017-08-16 15:34:33 -04:00
DD Liu
087a6264a0 rename stuff from tool to mode so it isn't confused with paper.tool' 2017-08-15 18:11:13 -04:00
DD Liu
69666f3b8a smooth the motion of large brushes 2017-08-01 11:21:26 -04:00
DD Liu
6e27d133a8 remove throttles 2017-07-27 23:05:43 -04:00
DD Liu
975bfdc464 add tests 2017-07-27 22:58:31 -04:00
DD Liu
27f7102b06 add segment brush 2017-07-27 17:36:17 -04:00
DD Liu
0c1e7ed961 some comments 2017-07-27 16:48:37 -04:00
DD Liu
dc2fea3dd6 some clean up in react code' 2017-07-27 16:41:41 -04:00
DD Liu
c7471d26ab Merge branch 'addTool' into addEraser 2017-07-27 11:45:41 -04:00
DD Liu
a4891d22b0 code review 2017-07-27 00:34:33 -04:00
DD Liu
dc683f1d82 switch to jest 2017-07-26 20:48:35 -04:00
DD Liu
0b3798436f random change 2017-07-25 15:35:32 -04:00
DD Liu
f139bfada0 fix cursor preview 2017-07-25 15:00:35 -04:00
DD Liu
530b2d76f4 fix name 2017-07-25 11:54:17 -04:00
DD Liu
02730cbd58 add eraser 2017-07-25 11:53:54 -04:00
DD Liu
469c60e66c Merge branch 'addTool' into addBrush 2017-07-25 11:36:10 -04:00
DD Liu
abf851dff0 add newline 2017-07-25 11:35:56 -04:00
DD Liu
eb060b1dc7 Merge branch 'develop' into addTool 2017-07-25 11:27:01 -04:00
DD Liu
289defbaf9 Merge branch 'develop' into addBrush 2017-07-25 11:25:54 -04:00
DD Liu
6d0119eebe add missing file 2017-07-25 10:22:31 -04:00
DD Liu
014907ba98 get broad brush working 2017-07-20 22:49:05 -04:00
DD Liu
4bd8343338 change export syntax 2017-07-18 14:41:40 -04:00
DD Liu
f245114f51 add logging and test 2017-07-18 14:35:58 -04:00
DD Liu
435f00b745 add state to switch tools, and keyboard shortcuts to do so 2017-07-17 18:39:50 -04:00
DD Liu
eba604d242 Add eslint config scratch 2017-07-17 14:20:32 -04:00
DD Liu
4e558380e7 add paper canvas component 2017-07-17 12:04:12 -04:00
DD Liu
0daa70fc7c Fix travis 2017-07-13 17:14:40 -04:00
DD Liu
836088a8cb Remove VM dependency 2017-07-13 14:47:23 -04:00
DD Liu
4cc251be24 Make a paint editor component 2017-07-13 14:03:48 -04:00