36 lines
617 B
JavaScript
36 lines
617 B
JavaScript
"use strict";
|
|
|
|
const events = require("../events.js");
|
|
|
|
class Point extends events.EventTarget {
|
|
constructor(x, y) {
|
|
super();
|
|
this._x = x;
|
|
this._y = y;
|
|
}
|
|
|
|
get x() {
|
|
return this._x;
|
|
}
|
|
|
|
get y() {
|
|
return this._y;
|
|
}
|
|
|
|
set x(value) {
|
|
this._x = value;
|
|
this.dispatchEvent(
|
|
new CustomEvent("change", { detail: { point: this } })
|
|
);
|
|
}
|
|
|
|
set y(value) {
|
|
this._y = value;
|
|
this.dispatchEvent(
|
|
new CustomEvent("change", { detail: { point: this } })
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = Point;
|