pub struct CanvasGraphicsContext<'a> { /* private fields */ }
Expand description
Graphics context for a Canvas
Trait Implementations§
Source§impl<'a> Drop for CanvasGraphicsContext<'a>
impl<'a> Drop for CanvasGraphicsContext<'a>
Source§impl<'a> GraphicsContext for CanvasGraphicsContext<'a>
impl<'a> GraphicsContext for CanvasGraphicsContext<'a>
Source§fn start_frame(&mut self)
fn start_frame(&mut self)
Suspends rendering to the display until the next ‘ShowFrame’ Read more
Source§fn show_frame(&mut self)
fn show_frame(&mut self)
Displays any requested queued after ‘StartFrame’
Source§fn reset_frame(&mut self)
fn reset_frame(&mut self)
Resets the frame count back to 0 (for when regenerating the state of a canvas)
Source§fn move_to(&mut self, x: f32, y: f32)
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 bezier_curve_to(
&mut self,
x: f32,
y: f32,
cp1_x: f32,
cp1_y: f32,
cp2_x: f32,
cp2_y: f32,
)
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)
fn close_path(&mut self)
Closes the current path (adds a line to the last move point)
Source§fn line_width(&mut self, width: f32)
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)
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)
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)
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)
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)
fn new_dash_pattern(&mut self)
Starts defining a new dash pattern
Source§fn dash_length(&mut self, length: f32)
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)
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)
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,
)
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,
)
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)
fn fill_transform(&mut self, transform: Transform2D)
Applies a transformation to the fill texture or gradient
Source§fn stroke_color(&mut self, col: Color)
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)
fn blend_mode(&mut self, mode: BlendMode)
Sets the blend mode of the next fill or stroke operation
Source§fn identity_transform(&mut self)
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)
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)
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)
fn transform(&mut self, transform: Transform2D)
Multiply a 2D transform by the current transformation
Source§fn free_stored_buffer(&mut self)
fn free_stored_buffer(&mut self)
Releases the memory allocated by the last store() operation
Source§fn push_state(&mut self)
fn push_state(&mut self)
Stores the current state of the canvas (line width, fill colour, etc)
Source§fn clear_canvas(&mut self, color: Color)
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)
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)
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)
fn clear_layer(&mut self)
Clears the current layer
Source§fn clear_all_layers(&mut self)
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)
fn swap_layers(&mut self, layer1: LayerId, layer2: LayerId)
Exchanges the contents of two layers in the drawing
Source§fn clear_sprite(&mut self)
fn clear_sprite(&mut self)
Releases the resources used by the current sprite
Source§fn sprite_transform(&mut self, transform: SpriteTransform)
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)
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>)
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)
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,
)
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>)
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)
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)
fn layout_text(&mut self, font_id: FontId, text: String)
Adds text to the current line layout
Source§fn draw_text_layout(&mut self)
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,
)
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)
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>>,
)
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)
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)
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)
fn gradient_stop(&mut self, gradient_id: GradientId, pos: f32, color: Color)
Adds a new colour stop to a texture
Auto Trait Implementations§
impl<'a> Freeze for CanvasGraphicsContext<'a>
impl<'a> RefUnwindSafe for CanvasGraphicsContext<'a>
impl<'a> Send for CanvasGraphicsContext<'a>
impl<'a> Sync for CanvasGraphicsContext<'a>
impl<'a> Unpin for CanvasGraphicsContext<'a>
impl<'a> !UnwindSafe for CanvasGraphicsContext<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> GraphicsPrimitives for Twhere
T: GraphicsContext,
impl<T> GraphicsPrimitives for Twhere
T: GraphicsContext,
Source§fn rect(&mut self, x1: f32, y1: f32, x2: f32, y2: f32)
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)
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,
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,
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,
)
fn draw_list<'a, DrawIter: 'a + IntoIterator<Item = Draw>>( &'a mut self, drawing: DrawIter, )
Draws a series of instructions
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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