@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
57 lines • 1.89 kB
JavaScript
/**
* Class used to represent a viewport on screen
*/
export class Viewport {
/**
* Creates a Viewport object located at (x, y) and sized (width, height)
* @param x defines viewport left coordinate
* @param y defines viewport top coordinate
* @param width defines the viewport width
* @param height defines the viewport height
*/
constructor(
/** viewport left coordinate */
x,
/** viewport top coordinate */
y,
/**viewport width */
width,
/** viewport height */
height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
/**
* Creates a new viewport using absolute sizing (from 0-> width, 0-> height instead of 0->1)
* @param renderWidth defines the rendering width
* @param renderHeight defines the rendering height
* @returns a new Viewport
*/
toGlobal(renderWidth, renderHeight) {
return new Viewport(this.x * renderWidth, this.y * renderHeight, this.width * renderWidth, this.height * renderHeight);
}
/**
* Stores absolute viewport value into a target viewport (from 0-> width, 0-> height instead of 0->1)
* @param renderWidth defines the rendering width
* @param renderHeight defines the rendering height
* @param ref defines the target viewport
* @returns the current viewport
*/
toGlobalToRef(renderWidth, renderHeight, ref) {
ref.x = this.x * renderWidth;
ref.y = this.y * renderHeight;
ref.width = this.width * renderWidth;
ref.height = this.height * renderHeight;
return this;
}
/**
* Returns a new Viewport copied from the current one
* @returns a new Viewport
*/
clone() {
return new Viewport(this.x, this.y, this.width, this.height);
}
}
//# sourceMappingURL=math.viewport.js.map