Skip to main content

VertexSource

Trait VertexSource 

Source
pub trait VertexSource {
    // Required methods
    fn rewind(&mut self, path_id: u32);
    fn vertex(&mut self, x: &mut f64, y: &mut f64) -> u32;
}
Expand description

The fundamental vertex source interface. Every shape, path, and converter in AGG implements this trait to produce a stream of vertices.

Port of the C++ “vertex source concept” — the implicit interface that all AGG vertex sources implement via duck typing (template parameters).

Required Methods§

Source

fn rewind(&mut self, path_id: u32)

Reset the vertex source to the beginning of the given path. path_id selects which sub-path to iterate (0 for the first/only path).

Source

fn vertex(&mut self, x: &mut f64, y: &mut f64) -> u32

Return the next vertex. Writes coordinates to x and y, returns a path command. Returns PATH_CMD_STOP when iteration is complete.

Implementations on Foreign Types§

Source§

impl<T: VertexSource> VertexSource for &mut T

Blanket implementation so &mut T can be used as a VertexSource. This allows pipeline stages to borrow their source instead of owning it.

Source§

fn rewind(&mut self, path_id: u32)

Source§

fn vertex(&mut self, x: &mut f64, y: &mut f64) -> u32

Implementors§

Source§

impl VertexSource for Arc

Source§

impl VertexSource for Arrowhead

Source§

impl VertexSource for BezierArc

Source§

impl VertexSource for BezierArcSvg

Source§

impl VertexSource for CboxCtrl

Source§

impl VertexSource for GammaCtrl

Source§

impl VertexSource for RboxCtrl

Source§

impl VertexSource for ScaleCtrl

Source§

impl VertexSource for SliderCtrl

Source§

impl VertexSource for SplineCtrl

Source§

impl VertexSource for Curve3

Source§

impl VertexSource for Curve3Div

Source§

impl VertexSource for Curve3Inc

Source§

impl VertexSource for Curve4

Source§

impl VertexSource for Curve4Div

Source§

impl VertexSource for Curve4Inc

Source§

impl VertexSource for Ellipse

Source§

impl VertexSource for GsvText

Source§

impl VertexSource for GsvTextOutline

Source§

impl VertexSource for LineAdaptor

Source§

impl VertexSource for PathStorage

Source§

impl VertexSource for PolyPlainAdaptor<'_>

Source§

impl VertexSource for RoundedRect

Source§

impl VertexSource for SpanGouraudRgba

Source§

impl<C: Clone + Default> VertexSource for SpanGouraud<C>

Source§

impl<ML: VertexSource, MS: VertexSource> VertexSource for ConvMarker<'_, ML, MS>

Source§

impl<VS: VertexSource> VertexSource for ConvContour<VS>

Source§

impl<VS: VertexSource> VertexSource for ConvCurve<VS>

Source§

impl<VS: VertexSource> VertexSource for ConvDash<VS>

Source§

impl<VS: VertexSource> VertexSource for ConvSegmentator<VS>

Source§

impl<VS: VertexSource> VertexSource for ConvStroke<VS>

Source§

impl<VS: VertexSource, Gen: VcgenGenerator> VertexSource for ConvAdaptorVcgen<VS, Gen>

Source§

impl<VS: VertexSource, Gen: VpgenProcessor> VertexSource for ConvAdaptorVpgen<VS, Gen>

Source§

impl<VS: VertexSource, T: Transformer> VertexSource for ConvTransform<VS, T>