반응형
This commit is contained in:
parent
dcdc2ee2ca
commit
86bff774e6
@ -2,8 +2,13 @@ import { fabric } from "fabric";
|
|||||||
import { useCallback, useState } from "react";
|
import { useCallback, useState } from "react";
|
||||||
import { useAutoResize } from "./use-auto-resize";
|
import { useAutoResize } from "./use-auto-resize";
|
||||||
|
|
||||||
|
|
||||||
|
interface UseEditorProps {
|
||||||
|
initialCanvas: fabric.Canvas;
|
||||||
|
initialContainer: HTMLDivElement;
|
||||||
|
}
|
||||||
export const useEditor = () => {
|
export const useEditor = () => {
|
||||||
const[canvas, setCanvas] = useState(null);
|
const[canvas, setCanvas] = useState<fabric.Canvas | null>(null);
|
||||||
const[container, setContatiner] = useState<HTMLDivElement | null>(null);
|
const[container, setContatiner] = useState<HTMLDivElement | null>(null);
|
||||||
|
|
||||||
useAutoResize({
|
useAutoResize({
|
||||||
@ -11,10 +16,8 @@ export const useEditor = () => {
|
|||||||
container,
|
container,
|
||||||
});
|
});
|
||||||
|
|
||||||
const init = useCallback(({ initialCanvas,initialContainer}: {
|
const init = useCallback(
|
||||||
initialCanvas: fabric.Canvas;
|
({initialCanvas,initialContainer}: UseEditorProps) => {
|
||||||
initialContainer: HTMLDivElement,
|
|
||||||
}) => {
|
|
||||||
fabric.Object.prototype.set({
|
fabric.Object.prototype.set({
|
||||||
cornerColor: "#FFF",
|
cornerColor: "#FFF",
|
||||||
cornerStyle: "circle",
|
cornerStyle: "circle",
|
||||||
@ -23,7 +26,8 @@ export const useEditor = () => {
|
|||||||
transparentCorners: false,
|
transparentCorners: false,
|
||||||
borderOpacityWhenMoving: 1,
|
borderOpacityWhenMoving: 1,
|
||||||
cornerStrokeColor: "#3b82f6",
|
cornerStrokeColor: "#3b82f6",
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
const initialWorkspace = new fabric.Rect({
|
const initialWorkspace = new fabric.Rect({
|
||||||
width: 900,
|
width: 900,
|
||||||
@ -34,7 +38,7 @@ export const useEditor = () => {
|
|||||||
hasControls: false,
|
hasControls: false,
|
||||||
shadow: new fabric.Shadow({
|
shadow: new fabric.Shadow({
|
||||||
color: "rgba(0,0,0,0.8)",
|
color: "rgba(0,0,0,0.8)",
|
||||||
blur: 5,
|
blur: 5
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -57,8 +61,7 @@ export const useEditor = () => {
|
|||||||
initialCanvas.add(test);
|
initialCanvas.add(test);
|
||||||
initialCanvas.centerObject(test);
|
initialCanvas.centerObject(test);
|
||||||
},
|
},
|
||||||
[]
|
[]);
|
||||||
);
|
|
||||||
|
|
||||||
return { init };
|
return { init };
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user