Struct femtovg::Path

source ·
pub struct Path { /* private fields */ }
Expand description

A collection of verbs (move_to(), line_to(), bezier_to(), etc.) describing one or more contours.

Implementations§

source§

impl Path

source

pub fn new() -> Self

source

pub fn size(&self) -> usize

Memory usage in bytes

source

pub fn is_empty(&self) -> bool

source

pub fn set_distance_tolerance(&mut self, value: f32)

source

pub fn verbs(&self) -> PathIter<'_>

source

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

Starts new sub-path with specified point as first point.

source

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

Adds line segment from the last point in the path to the specified point.

source

pub fn bezier_to( &mut self, c1x: f32, c1y: f32, c2x: f32, c2y: f32, x: f32, y: f32 )

Adds cubic bezier segment from last point in the path via two control points to the specified point.

source

pub fn quad_to(&mut self, cx: f32, cy: f32, x: f32, y: f32)

Adds quadratic bezier segment from last point in the path via a control point to the specified point.

source

pub fn close(&mut self)

Closes current sub-path with a line segment.

source

pub fn solidity(&mut self, solidity: Solidity)

Sets the current sub-path winding, see Solidity.

source

pub fn arc(&mut self, cx: f32, cy: f32, r: f32, a0: f32, a1: f32, dir: Solidity)

Creates new circle arc shaped sub-path. The arc center is at cx,cy, the arc radius is r, and the arc is drawn from angle a0 to a1, and swept in direction dir (Winding) Angles are specified in radians.

source

pub fn arc_to(&mut self, x1: f32, y1: f32, x2: f32, y2: f32, radius: f32)

Adds an arc segment at the corner defined by the last path point, and two specified points.

source

pub fn rect(&mut self, x: f32, y: f32, w: f32, h: f32)

Creates new rectangle shaped sub-path.

source

pub fn rounded_rect(&mut self, x: f32, y: f32, w: f32, h: f32, r: f32)

Creates new rounded rectangle shaped sub-path.

source

pub fn rounded_rect_varying( &mut self, x: f32, y: f32, w: f32, h: f32, rad_top_left: f32, rad_top_right: f32, rad_bottom_right: f32, rad_bottom_left: f32 )

Creates new rounded rectangle shaped sub-path with varying radii for each corner.

source

pub fn ellipse(&mut self, cx: f32, cy: f32, rx: f32, ry: f32)

Creates new ellipse shaped sub-path.

source

pub fn circle(&mut self, cx: f32, cy: f32, r: f32)

Creates new circle shaped sub-path.

Trait Implementations§

source§

impl Clone for Path

source§

fn clone(&self) -> Path

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Path

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Path

source§

fn default() -> Path

Returns the “default value” for a type. Read more
source§

impl OutlineBuilder for Path

source§

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

Appends a MoveTo segment. Read more
source§

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

Appends a LineTo segment.
source§

fn quad_to(&mut self, x1: f32, y1: f32, x: f32, y: f32)

Appends a QuadTo segment.
source§

fn curve_to(&mut self, x1: f32, y1: f32, x2: f32, y2: f32, x: f32, y: f32)

Appends a CurveTo segment.
source§

fn close(&mut self)

Appends a ClosePath segment. Read more

Auto Trait Implementations§

§

impl !Freeze for Path

§

impl !RefUnwindSafe for Path

§

impl Send for Path

§

impl !Sync for Path

§

impl Unpin for Path

§

impl UnwindSafe for Path

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, 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.