VisualGeometry

Struct VisualGeometry 

Source
pub struct VisualGeometry {
    pub blitter: Blitter,
    pub pixels: Size,
    pub rendered_pixels: Size,
    pub rendered_cells: Size,
    pub pixels_per_cell: Size,
    pub region_position: Position,
    pub region_size: Size,
    pub max_bitmap_pixels: Option<Size>,
}
Expand description

The geometry of a Visual.

Inner values are calculated at the time of the call. A font change, for example, could make all the fields invalid, except for pixels.

Fields§

§blitter: Blitter

The selected blitter.

§pixels: Size

True internal size in pixels, following any resizing.

§rendered_pixels: Size

Rendered size in pixels, as handed to the blitter, following any scaling.

§rendered_cells: Size

Rendered size in cells, following any padding.

There’s padding whenever rendered_pixels is not evenly divided by scale.

§pixels_per_cell: Size

A Cells size, in pixels.

§region_position: Position

The origin of the region to be rendered (top-left corner).

§region_size: Size

The size of the region to be rendered.

§max_bitmap_pixels: Option<Size>

The largest bitmap size that the terminal is willing to accept.

Or none if bitmaps are not supported.

Implementations§

Source§

impl VisualGeometry

§methods

Source

pub const fn blitter(&self) -> Blitter

The selected blitter.

Source

pub const fn pixels(&self) -> Size

The true internal size in pixels, following any resizing.

Source

pub fn cells(&self) -> Size

The true internal size in cells, following any resizing.

Source

pub fn blits(&self) -> Size

The true internal size in cells, following any resizing.

Source

pub const fn rendered_pixels(&self) -> Size

The rendered size in pixels, following any scaling.

Source

pub const fn rendered_cells(&self) -> Size

The rendered size in cells, following any padding.

There’s padding whenever rendered_pixels is not evenly divided by blits_per_cell.

Source

pub fn rendered_blits(&self) -> Size

The rendered size in blits, following any padding.

Source

pub const fn pixels_per_cell(&self) -> Size

A Cell’s size, in pixels.

Source

pub fn blits_per_cell(&self) -> Size

A Cells size, in blitter blits.

Source

pub const fn max_bitmap_pixels(&self) -> Option<Size>

Returns the maximum supported bitmap size, in pixels, or none if bitmaps are not supported.

Source

pub fn max_bitmap_cells(&self) -> Option<Size>

Returns the maximum supported bitmap size, in Cells, or none if bitmaps are not supported.

Source

pub fn max_bitmap_blits(&self) -> Option<Size>

Returns the maximum supported bitmap size, in blits, using the current blitter, or none if bitmaps are not supported.

Source

pub fn max_bitmap_blitter(&self, blitter: Blitter) -> Option<Size>

Returns the maximum supported bitmap size, in blits, using the provided blitter, or none if bitmaps are not supported.

Trait Implementations§

Source§

impl Clone for VisualGeometry

Source§

fn clone(&self) -> VisualGeometry

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VisualGeometry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for VisualGeometry

Source§

fn default() -> VisualGeometry

Returns the “default value” for a type. Read more
Source§

impl From<NcVisualGeometry> for VisualGeometry

Source§

fn from(nc: NcVisualGeometry) -> VisualGeometry

Converts to this type from the input type.
Source§

impl PartialEq for VisualGeometry

Source§

fn eq(&self, other: &VisualGeometry) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for VisualGeometry

Source§

impl Eq for VisualGeometry

Source§

impl StructuralPartialEq for VisualGeometry

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.