@inweb/markup
Version:
JavaScript 2D markups
40 lines (39 loc) • 832 B
TypeScript
/**
* Viewer coordiate system transformer interface.
*/
export interface IWorldTransform {
/**
* Transforms `position` from screen space into world space.
*
* @param position - Screen position in pixels.
*/
screenToWorld(position: {
x: number;
y: number;
}): {
x: number;
y: number;
z: number;
};
/**
* Transforms `position` from world space into screen space.
*
* @param position - Position in world space coordinates.
*/
worldToScreen(position: {
x: number;
y: number;
z: number;
}): {
x: number;
y: number;
};
/**
* Returns the scaling factors for each axis in world space.
*/
getScale(): {
x: number;
y: number;
z: number;
};
}