Struct riddle_renderer_wgpu::Sprite [−][src]
pub struct Sprite<Device: WGPUDevice> { /* fields omitted */ }
A renderable region of a texture.
Multiple sprites can share a single texture. Sprites can either be built using
Sprite
, or SpriteAtlasBuilder
.
Use SpriteRenderArgs
for access to all supported paramters when rendering
sprites, or use Sprite::render_at
to specify only a location and use default
arguments for everything else.
Sprites store a reference to the Renderer
which built it, which will keep
the renderer alive as long as the sprite is alive.
Example
let renderer = Renderer::new_from_window(&window)?; // Load an image and create a sprite from it let png_bytes = include_bytes!("../../example_assets/image.png"); let img = Image::load(&png_bytes[..], ImageFormat::Png)?; let sprite = Sprite::new_from_image(&renderer, &img, &SpriteInitArgs::new())?; // Render the sprite at the top left corner of the screen let mut render_ctx = renderer.render(|render_ctx| { render_ctx.clear(Color::WHITE); sprite.render_at(render_ctx, vec2(0.0, 0.0)) })?;
Trait Implementations
impl<Device: WGPUDevice> CommonSprite<Renderer<Device>> for Sprite<Device>
[src]
fn new_from_image(
renderer: &Renderer<Device>,
img: &Image,
init_args: &SpriteInitArgs
) -> Result<Self, RendererError>
[src]
renderer: &Renderer<Device>,
img: &Image,
init_args: &SpriteInitArgs
) -> Result<Self, RendererError>
fn subsprite(&self, source_rect: &Rect<f32>) -> Self
[src]
fn dimensions(&self) -> Vector2<f32>
[src]
fn render_regions<Ctx: RenderContext<Renderer<Device>> + ?Sized>(
&self,
render_ctx: &mut Ctx,
args: &SpriteRenderArgs,
parts: &[(Rect<f32>, Vector2<f32>)]
) -> Result<(), RendererError>
[src]
&self,
render_ctx: &mut Ctx,
args: &SpriteRenderArgs,
parts: &[(Rect<f32>, Vector2<f32>)]
) -> Result<(), RendererError>
pub fn render<Ctx>(
&self,
render_ctx: &mut Ctx,
args: &SpriteRenderArgs
) -> Result<(), RendererError> where
Ctx: RenderContext<R>,
[src]
&self,
render_ctx: &mut Ctx,
args: &SpriteRenderArgs
) -> Result<(), RendererError> where
Ctx: RenderContext<R>,
pub fn render_at<Ctx>(
&self,
render_ctx: &mut Ctx,
location: Vector2<f32>
) -> Result<(), RendererError> where
Ctx: RenderContext<R>,
[src]
&self,
render_ctx: &mut Ctx,
location: Vector2<f32>
) -> Result<(), RendererError> where
Ctx: RenderContext<R>,
Auto Trait Implementations
impl<Device> !RefUnwindSafe for Sprite<Device>
impl<Device> Send for Sprite<Device> where
Device: Send + Sync,
Device: Send + Sync,
impl<Device> Sync for Sprite<Device> where
Device: Send + Sync,
Device: Send + Sync,
impl<Device> Unpin for Sprite<Device>
impl<Device> !UnwindSafe for Sprite<Device>
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
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.
pub 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>,