fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
30 lines (29 loc) • 1.38 kB
JavaScript
import { linearGradientColorActionHandlerGenerator, linearGradientColorPositionHandlerGenerator, linearGradientControlLineRender, linearGradientCoordPositionHandlerGenerator, linearGradientCoordsActionHandlerGenerator } from "./linearGradientHandlers.mjs";
import { Control, controlsUtils } from "fabric";
//#region extensions/linear_gradient_controls/linearGradientControls.ts
function createLinearGradientControls(gradient, options = {}) {
const controls = {};
controls[`lgp_1`] = new Control({
...options,
positionHandler: linearGradientCoordPositionHandlerGenerator(gradient, 1),
actionHandler: linearGradientCoordsActionHandlerGenerator(gradient, 1),
render: linearGradientControlLineRender(gradient)
});
gradient.colorStops.forEach((colorStop, index) => {
controls[`lgo_${index}`] = new Control({
...options,
positionHandler: linearGradientColorPositionHandlerGenerator(gradient, index),
actionHandler: linearGradientColorActionHandlerGenerator(gradient, index)
});
});
controls[`lgp_2`] = new Control({
...options,
positionHandler: linearGradientCoordPositionHandlerGenerator(gradient, 2),
actionHandler: linearGradientCoordsActionHandlerGenerator(gradient, 2),
render: controlsUtils.renderCircleControl
});
return controls;
}
//#endregion
export { createLinearGradientControls };
//# sourceMappingURL=linearGradientControls.mjs.map