Commit graph

348 commits

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