mirror of
https://github.com/scratchfoundation/scratch-paint.git
synced 2024-12-23 05:52:42 -05:00
commit
b12a9cde95
2 changed files with 9 additions and 9 deletions
|
@ -82,17 +82,17 @@ const sortItemsByZIndex = function (a, b) {
|
|||
return null;
|
||||
};
|
||||
|
||||
// Expand the size of the path by approx one pixel all around
|
||||
const expandByOne = function (path) {
|
||||
// Expand the size of the path by amount all around
|
||||
const expandBy = function (path, amount) {
|
||||
const center = path.position;
|
||||
let pathArea = path.area;
|
||||
for (const seg of path.segments) {
|
||||
const halfNorm = seg.point.subtract(center)
|
||||
const delta = seg.point.subtract(center)
|
||||
.normalize()
|
||||
.divide(2);
|
||||
seg.point = seg.point.add(halfNorm);
|
||||
.multiply(amount);
|
||||
seg.point = seg.point.add(delta);
|
||||
// If that made the path area smaller, go the other way.
|
||||
if (path.area < pathArea) seg.point = seg.point.subtract(halfNorm.multiply(2));
|
||||
if (path.area < pathArea) seg.point = seg.point.subtract(delta.multiply(2));
|
||||
pathArea = path.area;
|
||||
}
|
||||
};
|
||||
|
@ -112,7 +112,7 @@ export {
|
|||
HANDLE_RATIO,
|
||||
checkPointsClose,
|
||||
ensureClockwise,
|
||||
expandByOne,
|
||||
expandBy,
|
||||
getRandomInt,
|
||||
getRandomBoolean,
|
||||
snapDeltaToAngle,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import paper from '@scratch/paper';
|
||||
import {getHoveredItem} from '../hover';
|
||||
import {expandByOne} from '../math';
|
||||
import {expandBy} from '../math';
|
||||
|
||||
class FillTool extends paper.Tool {
|
||||
static get TOLERANCE () {
|
||||
|
@ -104,7 +104,7 @@ class FillTool extends paper.Tool {
|
|||
this.addedFillItem.data.origItem = hitItem;
|
||||
// This usually fixes it so there isn't a teeny tiny gap in between the fill and the outline
|
||||
// when filling in a hole
|
||||
expandByOne(this.addedFillItem);
|
||||
expandBy(this.addedFillItem, .1);
|
||||
this.addedFillItem.insertAbove(hitItem.parent);
|
||||
} else if (this.fillItem.parent instanceof paper.CompoundPath) {
|
||||
this.fillItemOrigColor = hitItem.parent.fillColor;
|
||||
|
|
Loading…
Reference in a new issue