Spaces:
Sleeping
Sleeping
| 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 | |
| } | |
| } | |