[−][src]Struct tetra::graphics::Canvas
A texture that can be used for off-screen rendering.
This is sometimes referred to as a 'render texture' or 'render target' in other frameworks.
Canvases can be useful if you want to do some rendering upfront and then cache the result (e.g. a static background), or if you want to apply transformations/shaders to multiple things simultaneously.
Performance
Creating a Canvas
is a relatively expensive operation. If you can, store them in your State
struct rather than recreating them each frame.
Cloning a Canvas
is a very cheap operation, as the underlying data is shared between the
original instance and the clone via reference-counting.
This does mean, however, that updating a Canvas
(for example, changing its filter mode) will also
update any other clones of that Canvas
.
Examples
The canvas
example demonstrates how to draw to a canvas, and then draw that canvas to
the screen.
Implementations
impl Canvas
[src]
pub fn new(ctx: &mut Context, width: i32, height: i32) -> Result<Canvas>
[src]
Creates a new canvas.
Errors
TetraError::PlatformError
will be returned if the underlying graphics API encounters an error.
pub fn width(&self) -> i32
[src]
Returns the width of the canvas.
pub fn height(&self) -> i32
[src]
Returns the height of the canvas.
pub fn size(&self) -> (i32, i32)
[src]
Returns the size of the canvas.
pub fn filter_mode(&self) -> FilterMode
[src]
Returns the filter mode being used by the canvas.
pub fn set_filter_mode(&mut self, ctx: &mut Context, filter_mode: FilterMode)
[src]
Sets the filter mode that should be used by the canvas.
pub fn texture(&self) -> &Texture
[src]
Returns a reference to the canvas' underlying texture.
Trait Implementations
impl Clone for Canvas
[src]
impl Debug for Canvas
[src]
impl Drawable for Canvas
[src]
fn draw<P>(&self, ctx: &mut Context, params: P) where
P: Into<DrawParams>,
[src]
P: Into<DrawParams>,
impl PartialEq<Canvas> for Canvas
[src]
impl StructuralPartialEq for Canvas
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Canvas
impl !Send for Canvas
impl !Sync for Canvas
impl Unpin for Canvas
impl !UnwindSafe for Canvas
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,