"rectangles" property

This commit is contained in:
Jörn-Michael Miehe 2023-01-19 00:27:38 +00:00
parent 93f31cd2b8
commit 9647132569

View file

@ -13,7 +13,7 @@
@dblclick.left="remove_rect"
>
<Rect
v-for="(rect, index) in rectangles"
v-for="(rect, index) in _rectangles"
:key="'rect' + index"
:rectangle="rect"
/>
@ -56,7 +56,7 @@ export default class RectPad extends Vue {
private dragging = false;
private drag_rect?: Rectangle;
private drag_origin = new Vector2D();
private rectangles: Rectangle[] = [];
private _rectangles: Rectangle[] = [];
private get preview_visible(): boolean {
return this.drawing || this.dragging;
@ -69,14 +69,22 @@ export default class RectPad extends Vue {
).normalize();
}
public get rectangles(): Rectangle[] {
return this._rectangles; //.map((rect) => rect.normalize());
}
public set rectangles(rects: Rectangle[]) {
this._rectangles = rects; //.map((rect) => rect.normalize());
}
private pop_rectangle(point: Vector2D): Rectangle | undefined {
const idx = this.rectangles.findIndex((rect) => rect.contains(point));
const idx = this._rectangles.findIndex((rect) => rect.contains(point));
if (idx === -1) {
return;
}
return this.rectangles.splice(idx, 1)[0];
return this._rectangles.splice(idx, 1)[0];
}
private draw_start(event: MouseEvent) {
@ -100,7 +108,7 @@ export default class RectPad extends Vue {
return;
}
this.rectangles.push(this.preview_rectangle);
this._rectangles.push(this.preview_rectangle);
}
private drag_start(event: MouseEvent) {
@ -128,7 +136,7 @@ export default class RectPad extends Vue {
}
this.dragging = false;
this.rectangles.push(this.preview_rectangle);
this._rectangles.push(this.preview_rectangle);
}
private on_mousemove(event: MouseEvent) {