Files
2015-11-25 10:57:50 +02:00

81 lines
2.4 KiB
TypeScript

import observable = require("data/observable");
export class ViewModel extends observable.Observable {
constructor() {
super();
this.reset();
}
private _translateX = 0;;
get translateX(): number {
return this._translateX;
}
set translateX(value: number) {
this._translateX = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "translateX", value: value });
}
private _translateY = 0;
get translateY(): number {
return this._translateY;
}
set translateY(value: number) {
this._translateY = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "translateY", value: value });
}
private _scaleX = 100;
get scaleX(): number {
return this._scaleX;
}
set scaleX(value: number) {
this._scaleX = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "scaleX", value: value });
}
private _scaleY = 100;
get scaleY(): number {
return this._scaleY;
}
set scaleY(value: number) {
this._scaleY = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "scaleY", value: value });
}
private _originX = 50;
get originX(): number {
return this._originX;
}
set originX(value: number) {
this._originX = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "originX", value: value });
}
private _originY = 50;
get originY(): number {
return this._originY;
}
set originY(value: number) {
this._originY = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "originY", value: value });
}
private _rotate = 0;
get rotate(): number {
return this._rotate;
}
set rotate(value: number) {
this._rotate = value;
this.notify({ object: this, eventName: observable.Observable.propertyChangeEvent, propertyName: "rotate", value: value });
}
public reset() {
this.originX = 50;
this.originY = 50;
this.scaleX = 100;
this.scaleY = 100;
this.translateX = 0;
this.translateY = 0;
this.rotate = 0;
}
}