Files
game-cards-poker-design/frontend/node_modules/fabric/dist-extensions/linear_gradient_controls/linearGradientControls.mjs

30 lines
1.3 KiB
JavaScript
Raw Normal View History

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