# Struct viewport::Viewport
[−]
[src]

pub struct Viewport { pub rect: [i32; 4], pub draw_size: [u32; 2], pub window_size: [u32; 2], }

Stores viewport information.

## Fields

`rect: [i32; 4]`

Viewport in pixels.
`[x, y, width height]`

where `(x, y)`

is lower left corner.

`draw_size: [u32; 2]`

The size of frame buffer in pixels.

`window_size: [u32; 2]`

The size of window in points.

## Methods

`impl Viewport`

[src]

`fn abs_transform<T: Float>(&self) -> [[T; 3]; 2]`

[src]

Computes absolute transform for 2D graphics, which uses a row major 2x3 matrix. The origin is in the upper left corner of the viewport rectangle. The x axis points to the right, and the y axis points down. The units are in points (window coordinates).

It is assumed that the underlying coordinate system is normalized
with the origin in the center, such that `(-1.0, 1.0)`

in the
underlying coordinate system corresponds to the
upper left corner of the viewport.