Files
game-cards-poker-design/frontend/node_modules/fabric/dist-extensions/cropping_controls/enterCropMode.mjs
Poker Design Developer 5dbcebf7a2 Fix frontend blank page issues
- Fix router import path in main.js
- Handle Django REST Framework pagination format in API calls
- Add getTemplates function to project API
- Restart frontend development server
2026-05-31 18:40:56 +08:00

35 lines
1.5 KiB
JavaScript

import { cropPanMoveHandler, renderGhostImage } from "./croppingHandlers.mjs";
import { createImageCroppingControls } from "./croppingControls.mjs";
//#region extensions/cropping_controls/enterCropMode.ts
/**
* Coordinates the change to image to enter crop mode and returns
* a function to exit crop mode
* This is a basic example for demos and your project may need persistent crop state,
* in that case make your own function.
*/
const enterCropMode = function enterCropMode({ target }) {
var _fabricImage$canvas2;
const fabricImage = target;
const { controls, padding } = fabricImage;
fabricImage.padding = 0;
fabricImage.controls = createImageCroppingControls();
fabricImage.on("moving", cropPanMoveHandler);
fabricImage.on("before:render", renderGhostImage);
fabricImage.setCoords();
const exitCropMode = () => {
var _fabricImage$canvas;
fabricImage.padding = padding;
fabricImage.off("moving", cropPanMoveHandler);
fabricImage.off("before:render", renderGhostImage);
fabricImage.controls = controls;
fabricImage.setCoords();
fabricImage.once("mousedblclick", enterCropMode);
(_fabricImage$canvas = fabricImage.canvas) === null || _fabricImage$canvas === void 0 || _fabricImage$canvas.requestRenderAll();
};
fabricImage.once("mousedblclick", exitCropMode);
(_fabricImage$canvas2 = fabricImage.canvas) === null || _fabricImage$canvas2 === void 0 || _fabricImage$canvas2.requestRenderAll();
};
//#endregion
export { enterCropMode };
//# sourceMappingURL=enterCropMode.mjs.map