Struct flo_canvas::CanvasGraphicsContext
source · 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