Struct CanvasGraphicsContext

Source
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 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GraphicsPrimitives for T
where T: GraphicsContext,

Source§

fn rect(&mut self, x1: f32, y1: f32, x2: f32, y2: f32)

Draws a rectangle between particular coordinates
Source§

fn circle(&mut self, center_x: f32, center_y: f32, radius: f32)

Draws a circle at a particular point
Source§

fn bezier_path<TPath: BezierPath>(&mut self, path: &TPath)
where TPath::Point: Coordinate2D,

Draws a bezier path
Source§

fn bezier_curve<TCurve: BezierCurve>(&mut self, curve: &TCurve)
where TCurve::Point: Coordinate2D,

Draws a bezier curve (defined by the BezierCurve trait)
Source§

fn draw_list<'a, DrawIter: 'a + IntoIterator<Item = Draw>>( &'a mut self, drawing: DrawIter, )

Draws a series of instructions
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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.