import { Line } from "fabric"; import { bindThisInAllObjFn } from "../helpers/helpers"; import { FabricObjectPropertyList } from "../types/WrapperFabricType"; import { WrapperFabric } from "./WrapperFabric"; export class LineObj extends WrapperFabric { obj: Line; constructor(obj: Line) { super(obj) this.propertyListMap = { ...this.propertyListMap, "borderColor": this.setBorderColor, "borderWidth": this.setBorderWidth, } this.obj = obj bindThisInAllObjFn(this, this.propertyListMap) } setBorderColor(color: string): void { this.obj.set("stroke", color) //this.obj.setCoords() } setBorderWidth(width: number): void { // if (!width) // width = 0 this.obj.set("strokeWidth", width) //this.obj.setCoords() } public getObjectValues(): FabricObjectPropertyList { return { ...super.getObjectValues(), borderColor: { type: "color", value: this.obj.stroke || "" }, borderWidth: { type: "number", step: 1, value: this.obj.strokeWidth } } } }