Spaces:
Running
Running
File size: 867 Bytes
f23825d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import { IPoint } from "../geometry"
export class ArrangeCoordTransform {
private _pixelsPerTick: number
private _pixelsPerTrack: number
constructor(pixelsPerTick: number, pixelsPerTrack: number) {
this._pixelsPerTick = pixelsPerTick
this._pixelsPerTrack = pixelsPerTrack
}
getX(tick: number): number {
return tick * this._pixelsPerTick
}
getY(trackIndex: number): number {
return trackIndex * this._pixelsPerTrack
}
getTick(x: number): number {
return x / this._pixelsPerTick
}
getTrackIndex(y: number): number {
return y / this._pixelsPerTrack
}
getArrangePoint(point: IPoint) {
return {
tick: this.getTick(point.x),
trackIndex: this.getTrackIndex(point.y),
}
}
get pixelsPerTick() {
return this._pixelsPerTick
}
get pixelsPerTrack() {
return this._pixelsPerTrack
}
}
|