Commit graph

271 commits

Author SHA1 Message Date
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
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
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 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
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
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
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
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
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
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
8439a6387e Clean up the cursor preview when it is removed from its parent 2018-01-11 18:50:42 -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
db5ddcbe87 Change handle ratio to make squares circles 2017-12-22 11:32:06 -05:00
DD
07b30aa55b Handle pointed and curved 2017-12-21 15:38:24 -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
0fe9c5d453 Make boolean expression more readable 2017-12-19 16:38:44 -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
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
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
DD
ac6914afc4 Show bounding box when moving and scaling in the select tool 2017-12-14 19:17:06 -05:00
Matthew Taylor
0209e65ac0 accommodate zoom in eye dropper 2017-12-14 12:58:25 -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
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
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
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
DD
420db40145 Improve cursor preview, don't redraw the circle every frame it changes 2017-11-08 15:36:21 -05:00
DD
d918fc0bda Clean up selection state 2017-11-08 13:33:57 -05:00
DD
f854a296a2 Clean up 2017-11-07 17:49:30 -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
DD
ff554fabd4 Indicate gradients as mixed for now 2017-11-06 15:06:05 -05:00
DD
3c5ba7a08c Fix null mode issue 2017-11-03 18:11:48 -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
7e1e8d96ac add copy/paste 2017-11-01 17:05:37 -04:00
Paul Kaplan
3dab6ef7f0 Fix nits 2017-10-30 11:13:29 -04:00
Paul Kaplan
7cc3ecf74b Only submit SVG changes when color picker closes 2017-10-29 14:10:43 -04:00
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
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
770a138e21 Fix linting 2017-10-27 10:06:01 -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
DD Liu
b2eb47d7f2 Merge pull request #107 from fsih/backspace
Don't delete when input field focused
2017-10-26 15:44:19 -04:00
Matthew Taylor
b7f0df5214 Merge branch 'issue/disabled-state' into develop
* issue/disabled-state:
  comment out disabled mode tools for now
  Change border on disabled undo/enabled redo
  pass props to button from labeled button
  Add undo/redo disabled states
  Have the paint-editor container listen to `selectedItems`
  Add bool to `disabled` prop type
  Add disabled state for button

# Conflicts:
#	src/containers/paint-editor.jsx
2017-10-26 15:32:43 -04:00
DD
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
7b783a5c46 Add undo/redo disabled states 2017-10-26 10:58:28 -04:00
DD
67562c8799 Use a raster for the guid layer background 2017-10-25 14:47:40 -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
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
DD
3b4f509f89 Implement ordering buttons 2017-10-23 17:20:35 -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
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
DD
30e21e5d1c Fix color matching logic in apply stroke color 2017-10-20 15:57:48 -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
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
e425fc6dcb Allow erase through groups 2017-10-19 11:48:14 -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
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
9242faffa6 fix typo 2017-10-12 11:23:35 -04:00
DD
affe8463be fix undo removes cursor preview 2017-10-12 11:23:35 -04:00
DD
87eb78ad49 update stage on undo and redo 2017-10-12 11:23:35 -04:00
DD
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
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