pub fn render_elements<'a>(&'_ self) -> impl Iterator<Item = PathEl> + '_ {
        // we need to do some gymnastics to enesure we return the same concrete type in
        // both cases:
        let (line_part, spline_part) = if self.is_line() {
            (Some(PathEl::LineTo(self.p3)), None)
        } else {
            let p = self.p0;
            let d = self.p3 - p;
            let a = Affine::new([d.x, d.y, -d.y, d.x, p.x, p.y]);
            (
                None,
                Some(
                    self.hb
                        .render_elements(self.hb.render_subdivisions())
                        .skip(1)
                        .map(move |el| a * el),
                ),
            )
        };

        line_part
            .into_iter()
            .chain(spline_part.into_iter().flatten())
    }
/// Returns an iterator over the bezier elements that render this segment.
Returns an iterator over the bezier elements that render this segment.
Returns an iterator over the bezier elements that render this segment .
pub fn render_elements<'a>(&'_ self) -> impl Iterator<Item = PathEl> + '_ {
        // we need to do some gymnastics to enesure we return the same concrete type in
        // both cases:
        let (line_part, spline_part) = if self.is_line() {
            (Some(PathEl::LineTo(self.p3)), None)
        } else {
            let p = self.p0;
            let d = self.p3 - p;
            let a = Affine::new([d.x, d.y, -d.y, d.x, p.x, p.y]);
            (
                None,
                Some(
                    self.hb
                        .render_elements(self.hb.render_subdivisions())
                        .skip(1)
                        .map(move |el| a * el),
                ),
            )
        };
        line_part
            .into_iter()
            .chain(spline_part.into_iter().flatten())
    }
pub fn render_elements < ' a > ( & ' _ self ) -> impl Iterator < Item = PathEl > + ' _ { // we need to do some gymnastics to enesure we return the same concrete type in // both cases: let ( line_part , spline_part ) = if self . is_line ( ) { ( Some ( PathEl :: LineTo ( self . p3 ) ) , None ) } else { let p = self . p0 ; let d = self . p3 - p ; let a = Affine :: new ( [ d . x , d . y , - d . y , d . x , p . x , p . y ] ) ; ( None , Some ( self . hb . render_elements ( self . hb . render_subdivisions ( ) ) . skip ( 1 ) . map ( move | el | a * el ) , ) , ) } ; line_part . into_iter ( ) . chain ( spline_part . into_iter ( ) . flatten ( ) ) }
Returns an iterator over the bezier elements that render this segment.
Returns an iterator over the bezier elements that render this segment .
&'_ self
&'_ self