pub struct CanvasGraphicsContext<'a> { /* private fields */ }
Expand description

Graphics context for a Canvas

Trait Implementations§

source§

impl<'a> Drop for CanvasGraphicsContext<'a>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<'a> GraphicsContext for CanvasGraphicsContext<'a>

source§

fn draw(&mut self, d: Draw)

Sends a single drawing instruction to this graphics context
source§

fn start_frame(&mut self)

Suspends rendering to the display until the next ‘ShowFrame’ Read more
source§

fn show_frame(&mut self)

Displays any requested queued after ‘StartFrame’
source§

fn reset_frame(&mut self)

Resets the frame count back to 0 (for when regenerating the state of a canvas)
source§

fn new_path(&mut self)

Begins a new path
source§

fn move_to(&mut self, x: f32, y: f32)

Move to a new point in the current path (paths should always begin with a move instruction, and moves can define subpaths)
source§

fn line_to(&mut self, x: f32, y: f32)

Adds a line to the current path
source§

fn bezier_curve_to( &mut self, x: f32, y: f32, cp1_x: f32, cp1_y: f32, cp2_x: f32, cp2_y: f32 )

Adds a bezier curve to the current path
source§

fn close_path(&mut self)

Closes the current path (adds a line to the last move point)
source§

fn fill(&mut self)

Fills the currently defined path
source§

fn stroke(&mut self)

Draws a line around the currently defined path
source§

fn line_width(&mut self, width: f32)

Sets the line width for the next stroke() operation
source§

fn line_width_pixels(&mut self, width: f32)

Sets the line width for the next stroke() operation in device pixels
source§

fn line_join(&mut self, join: LineJoin)

Sets the line join style for the next stroke() operation
source§

fn line_cap(&mut self, cap: LineCap)

Sets the style of the start and end cap of the next line drawn by the stroke() operation
source§

fn winding_rule(&mut self, winding_rule: WindingRule)

Sets the winding rule used to determine if an internal subpath should be filled or empty
source§

fn new_dash_pattern(&mut self)

Starts defining a new dash pattern
source§

fn dash_length(&mut self, length: f32)

Adds a dash of the specified length to the dash pattern (alternating between drawing and gap lengths)
source§

fn dash_offset(&mut self, offset: f32)

Sets the offset for where the dash pattern starts at the next stroke
source§

fn fill_color(&mut self, col: Color)

Sets the colour of the next fill() operation
source§

fn fill_texture(&mut self, texture_id: TextureId, x1: f32, y1: f32, x2: f32, y2: f32)

Sets the texture to use for the next fill() operation
source§

fn fill_gradient( &mut self, gradient_id: GradientId, x1: f32, y1: f32, x2: f32, y2: f32 )

Sets the gradient to use for the next fill() operation
source§

fn fill_transform(&mut self, transform: Transform2D)

Applies a transformation to the fill texture or gradient
source§

fn stroke_color(&mut self, col: Color)

Sets the colour to use for the next stroke() operation
source§

fn blend_mode(&mut self, mode: BlendMode)

Sets the blend mode of the next fill or stroke operation
source§

fn identity_transform(&mut self)

Reset the canvas transformation to the identity transformation (so that the y axis goes from -1 to 1)
source§

fn canvas_height(&mut self, height: f32)

Sets a transformation such that: (0,0) is the center point of the canvas (0,height/2) is the top of the canvas Pixels are square
source§

fn center_region(&mut self, minx: f32, miny: f32, maxx: f32, maxy: f32)

Moves a particular region to the center of the canvas (coordinates are minx, miny, maxx, maxy)
source§

fn transform(&mut self, transform: Transform2D)

Multiply a 2D transform by the current transformation
source§

fn unclip(&mut self)

Removes the current clipping path
source§

fn clip(&mut self)

Sets the current path as the clipping path
source§

fn store(&mut self)

Stores the current contents of the canvas in a background buffer
source§

fn restore(&mut self)

Restores the contents of the canvas from the background buffer
source§

fn free_stored_buffer(&mut self)

Releases the memory allocated by the last store() operation
source§

fn push_state(&mut self)

Stores the current state of the canvas (line width, fill colour, etc)
source§

fn pop_state(&mut self)

Restore a state previously pushed Read more
source§

fn clear_canvas(&mut self, color: Color)

Clears the canvas entirely to a background colour, and removes any stored resources (layers, sprites, fonts, textures)
source§

fn layer(&mut self, layer_id: LayerId)

Selects a particular layer for drawing Layer 0 is selected initially. Layers are drawn in order starting from 0. Layer IDs don’t have to be sequential.
source§

fn layer_blend(&mut self, layer_id: LayerId, blend_mode: BlendMode)

Sets how a particular layer is blended with the underlying layer
source§

fn clear_layer(&mut self)

Clears the current layer
source§

fn clear_all_layers(&mut self)

Clears all of the layers (without resetting any other resources, as clear_canvas does)
source§

fn swap_layers(&mut self, layer1: LayerId, layer2: LayerId)

Exchanges the contents of two layers in the drawing
source§

fn sprite(&mut self, sprite_id: SpriteId)

Selects a particular sprite for drawing Read more
source§

fn clear_sprite(&mut self)

Releases the resources used by the current sprite
source§

fn sprite_transform(&mut self, transform: SpriteTransform)

Adds a sprite transform to the next sprite drawing operation
source§

fn draw_sprite(&mut self, sprite_id: SpriteId)

Renders a sprite with a set of transformations
source§

fn define_font_data(&mut self, font_id: FontId, font_data: Arc<CanvasFontFace>)

Loads font data into the canvas for a particular font ID
source§

fn set_font_size(&mut self, font_id: FontId, size: f32)

Sets the size that text in the specified font will be rendered at
source§

fn draw_text( &mut self, font_id: FontId, text: String, baseline_x: f32, baseline_y: f32 )

Draws a text string using a font
source§

fn draw_glyphs(&mut self, font_id: FontId, glyphs: Vec<GlyphPosition>)

Draws specific glyphs from a font
source§

fn begin_line_layout(&mut self, x: f32, y: f32, align: TextAlignment)

Starts laying out a line of text
source§

fn layout_text(&mut self, font_id: FontId, text: String)

Adds text to the current line layout
source§

fn draw_text_layout(&mut self)

Finishes laying out text and renders the result
source§

fn create_texture( &mut self, texture_id: TextureId, width: u32, height: u32, format: TextureFormat )

Creates a new texture that can be used with fill_texture of the specified width and height
source§

fn free_texture(&mut self, texture_id: TextureId)

Releases the memory allocated to a particular texture
source§

fn set_texture_bytes( &mut self, texture_id: TextureId, x: u32, y: u32, width: u32, height: u32, bytes: Arc<Vec<u8>> )

Sets the bitmap data for a texture, in the format specified by the call to create_texture()
source§

fn set_texture_fill_alpha(&mut self, texture_id: TextureId, alpha: f32)

Applies an alpha value to a texture
source§

fn create_gradient(&mut self, gradient_id: GradientId, initial_color: Color)

Defines a new gradient with a colour at stop position 0.0. Gradients can be used via fill_gradient()
source§

fn gradient_stop(&mut self, gradient_id: GradientId, pos: f32, color: Color)

Adds a new colour stop to a texture

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.