Skip to content

Commit

Permalink
Merge pull request #1464 from cwillisf/fix-fill-tool-touch
Browse files Browse the repository at this point in the history
Fix fill tool for touch: update hover on mouse up
  • Loading branch information
cwillisf authored Mar 19, 2021
2 parents 9b11457 + 3004a2a commit 2a9fb23
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/helper/tools/fill-tool.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class FillTool extends paper.Tool {

// We have to set these functions instead of just declaring them because
// paper.js tools hook up the listeners in the setter functions.
this.onMouseDown = this.handleMouseDown;
this.onMouseMove = this.handleMouseMove;
this.onMouseUp = this.handleMouseUp;

Expand Down Expand Up @@ -91,7 +92,7 @@ class FillTool extends paper.Tool {
setPrevHoveredItemId (prevHoveredItemId) {
this.prevHoveredItemId = prevHoveredItemId;
}
handleMouseMove (event) {
updateFillPreview (event) {
const hoveredItem = getHoveredItem(event, this.getHitOptions(), true /* subselect */);
if ((!hoveredItem && this.prevHoveredItemId) || // There is no longer a hovered item
(hoveredItem && !this.prevHoveredItemId) || // There is now a hovered item
Expand Down Expand Up @@ -152,6 +153,15 @@ class FillTool extends paper.Tool {
this._setFillItemColor(this.fillColor, this.fillColor2, this.gradientType, event.point);
}
}
handleMouseDown (event) {
// on touch, the user might touch-and-hold to preview what the fill tool would do
// if they don't move their finger at all after the "mouse down" event
// then this might be our only chance to give them a good preview
this.updateFillPreview(event);
}
handleMouseMove (event) {
this.updateFillPreview(event);
}
handleMouseUp (event) {
if (event.event.button > 0) return; // only first mouse button
if (this.fillItem) {
Expand Down

0 comments on commit 2a9fb23

Please sign in to comment.