Struct rsvg::path_parser::PathParser
source · pub struct PathParser<'b> {
tokens: Lexer<'b>,
current_pos_and_token: Option<(usize, Result<Token, LexError>)>,
builder: &'b mut PathBuilder,
current_x: f64,
current_y: f64,
cubic_reflection_x: f64,
cubic_reflection_y: f64,
quadratic_reflection_x: f64,
quadratic_reflection_y: f64,
subpath_start_x: f64,
subpath_start_y: f64,
}
Fields§
§tokens: Lexer<'b>
§current_pos_and_token: Option<(usize, Result<Token, LexError>)>
§builder: &'b mut PathBuilder
§current_x: f64
§current_y: f64
§cubic_reflection_x: f64
§cubic_reflection_y: f64
§quadratic_reflection_x: f64
§quadratic_reflection_y: f64
§subpath_start_x: f64
§subpath_start_y: f64
Implementations§
source§impl<'b> PathParser<'b>
impl<'b> PathParser<'b>
pub fn new(builder: &'b mut PathBuilder, path_str: &'b str) -> PathParser<'b>
fn match_command(&mut self) -> Result<u8, ParseError>
fn match_number(&mut self) -> Result<f64, ParseError>
fn match_number_and_flags(&mut self) -> Result<(f64, bool, bool), ParseError>
fn match_comma(&mut self) -> Result<(), ParseError>
fn eat_optional_comma(&mut self)
fn match_comma_number(&mut self) -> Result<f64, ParseError>
fn match_flag(&mut self) -> Result<bool, ParseError>
fn peek_command(&mut self) -> Option<u8>
fn peek_number(&mut self) -> Option<f64>
pub fn parse(&mut self) -> Result<(), ParseError>
fn error(&self, kind: ErrorKind) -> ParseError
fn coordinate_pair(&mut self) -> Result<(f64, f64), ParseError>
fn set_current_point(&mut self, x: f64, y: f64)
fn set_cubic_reflection_and_current_point( &mut self, x3: f64, y3: f64, x4: f64, y4: f64 )
fn set_quadratic_reflection_and_current_point( &mut self, a: f64, b: f64, c: f64, d: f64 )
fn emit_move_to(&mut self, x: f64, y: f64)
fn emit_line_to(&mut self, x: f64, y: f64)
fn emit_curve_to( &mut self, x2: f64, y2: f64, x3: f64, y3: f64, x4: f64, y4: f64 )
fn emit_quadratic_curve_to(&mut self, a: f64, b: f64, c: f64, d: f64)
fn emit_arc( &mut self, rx: f64, ry: f64, x_axis_rotation: f64, large_arc: LargeArc, sweep: Sweep, x: f64, y: f64 )
fn moveto_argument_sequence(&mut self, absolute: bool) -> Result<(), ParseError>
fn moveto(&mut self) -> Result<(), ParseError>
fn moveto_drawto_command_group(&mut self) -> Result<(), ParseError>
fn moveto_drawto_command_groups(&mut self) -> Result<(), ParseError>
fn optional_drawto_commands(&mut self) -> Result<bool, ParseError>
fn match_if_drawto_command_with_absolute(&mut self) -> Option<(u8, bool)>
fn drawto_command(&mut self) -> Result<bool, ParseError>
fn emit_close_path(&mut self)
fn should_break_arg_sequence(&mut self) -> bool
fn lineto_argument_sequence(&mut self, absolute: bool) -> Result<(), ParseError>
fn horizontal_lineto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn vertical_lineto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn curveto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn smooth_curveto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn quadratic_curveto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn smooth_quadratic_curveto_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
fn elliptical_arc_argument_sequence( &mut self, absolute: bool ) -> Result<(), ParseError>
Auto Trait Implementations§
impl<'b> RefUnwindSafe for PathParser<'b>
impl<'b> Send for PathParser<'b>
impl<'b> Sync for PathParser<'b>
impl<'b> Unpin for PathParser<'b>
impl<'b> !UnwindSafe for PathParser<'b>
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> 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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.