Skip to main content

DrawList

Struct DrawList 

Source
pub struct DrawList { /* private fields */ }
Expand description

An ordered buffer of deferred draw commands recorded during a frame.

Scenes and components push DrawCommands into the list during on_render instead of drawing immediately. The engine then replays the whole list once per frame via CanvasRenderer::replay, which batches consecutive same-style shapes into a single path and skips redundant canvas state changes. The backing Vec is reused across frames via clear() to avoid reallocation.

Implementations§

Source§

impl DrawList

Implements drawing and camera management methods for CanvasRenderer. Implements recording and replay for DrawList.

Source

pub fn create() -> DrawList

Creates an empty draw list.

§Returns
  • DrawList - The new empty draw list.
Source

pub fn is_empty(&self) -> bool

Returns whether the list contains no commands.

§Returns
  • bool - true if there are no recorded commands.
Source

pub fn len(&self) -> usize

Returns the number of recorded commands.

§Returns
  • usize - The command count.
Source

pub fn clear(&mut self)

Removes all recorded commands, keeping the allocated capacity for reuse on the next frame.

Source

pub fn fill_rect( &mut self, position: Vector2D, width: f64, height: f64, color: Color, )

Records a fill-rectangle command.

Source

pub fn stroke_rect( &mut self, position: Vector2D, width: f64, height: f64, color: Color, line_width: f64, )

Records a stroke-rectangle command.

Source

pub fn fill_circle(&mut self, center: Vector2D, radius: f64, color: Color)

Records a fill-circle command.

Source

pub fn stroke_circle( &mut self, center: Vector2D, radius: f64, color: Color, line_width: f64, )

Records a stroke-circle command.

Source

pub fn draw_line( &mut self, start: Vector2D, end: Vector2D, color: Color, line_width: f64, )

Records a line-segment command.

Source

pub fn fill_text<T, F>( &mut self, text: T, position: Vector2D, color: Color, font: F, )
where T: AsRef<str>, F: AsRef<str>,

Records a fill-text command.

Source

pub fn draw_sprite( &mut self, image: &HtmlImageElement, source: Rect, transform: Transform2D, )

Records a transformed sprite draw command.

Source

pub fn draw_image_rect( &mut self, image: &HtmlImageElement, source: Rect, dest_position: Vector2D, dest_width: f64, dest_height: f64, )

Records an image sub-region draw command (no rotation).

Source

pub fn set_global_alpha(&mut self, alpha: f64)

Records a global-alpha state change.

Source

pub fn set_blend_mode(&mut self, mode: BlendMode)

Records a blend-mode state change.

Source§

impl DrawList

Source

pub fn new(commands: Vec<DrawCommand>) -> Self

Trait Implementations§

Source§

impl Clone for DrawList

Source§

fn clone(&self) -> DrawList

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DrawList

Source§

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

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

impl Default for DrawList

Source§

fn default() -> DrawList

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

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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more