mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-01-30 16:31:52 +01:00
config redirect
This commit is contained in:
74
node_modules/d3-shape/src/curve/bump.js
generated
vendored
Normal file
74
node_modules/d3-shape/src/curve/bump.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
import pointRadial from "../pointRadial.js";
|
||||
|
||||
class Bump {
|
||||
constructor(context, x) {
|
||||
this._context = context;
|
||||
this._x = x;
|
||||
}
|
||||
areaStart() {
|
||||
this._line = 0;
|
||||
}
|
||||
areaEnd() {
|
||||
this._line = NaN;
|
||||
}
|
||||
lineStart() {
|
||||
this._point = 0;
|
||||
}
|
||||
lineEnd() {
|
||||
if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();
|
||||
this._line = 1 - this._line;
|
||||
}
|
||||
point(x, y) {
|
||||
x = +x, y = +y;
|
||||
switch (this._point) {
|
||||
case 0: {
|
||||
this._point = 1;
|
||||
if (this._line) this._context.lineTo(x, y);
|
||||
else this._context.moveTo(x, y);
|
||||
break;
|
||||
}
|
||||
case 1: this._point = 2; // falls through
|
||||
default: {
|
||||
if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);
|
||||
else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._x0 = x, this._y0 = y;
|
||||
}
|
||||
}
|
||||
|
||||
class BumpRadial {
|
||||
constructor(context) {
|
||||
this._context = context;
|
||||
}
|
||||
lineStart() {
|
||||
this._point = 0;
|
||||
}
|
||||
lineEnd() {}
|
||||
point(x, y) {
|
||||
x = +x, y = +y;
|
||||
if (this._point++ === 0) {
|
||||
this._x0 = x, this._y0 = y;
|
||||
} else {
|
||||
const p0 = pointRadial(this._x0, this._y0);
|
||||
const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);
|
||||
const p2 = pointRadial(x, this._y0);
|
||||
const p3 = pointRadial(x, y);
|
||||
this._context.moveTo(...p0);
|
||||
this._context.bezierCurveTo(...p1, ...p2, ...p3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function bumpX(context) {
|
||||
return new Bump(context, true);
|
||||
}
|
||||
|
||||
export function bumpY(context) {
|
||||
return new Bump(context, false);
|
||||
}
|
||||
|
||||
export function bumpRadial(context) {
|
||||
return new BumpRadial(context);
|
||||
}
|
||||
Reference in New Issue
Block a user