Ipelib
|
#include <ipeshape.h>
Inherited by ipe::ClosedSpline, ipe::Curve, and ipe::Ellipse.
Public Types | |
enum | Type { ECurve , EEllipse , EClosedSpline } |
Public Member Functions | |
virtual | ~SubPath ()=0 |
virtual Type | type () const =0 |
virtual bool | closed () const |
virtual const Ellipse * | asEllipse () const |
virtual const ClosedSpline * | asClosedSpline () const |
virtual const Curve * | asCurve () const |
virtual void | save (Stream &stream) const =0 |
virtual void | draw (Painter &painter) const =0 |
virtual void | addToBBox (Rect &box, const Matrix &m, bool cp) const =0 |
virtual double | distance (const Vector &v, const Matrix &m, double bound) const =0 |
virtual void | snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const =0 |
virtual void | snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const =0 |
A subpath of a Path.
A subpath is either open, or closed. There are two special kinds of closed subpaths, namely ellipses and closed B-splines.
enum ipe::SubPath::Type |
|
pure virtual |
Implementation of pure virtual destructor.
|
pure virtual |
Return type of this subpath.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::isSegment().
|
virtual |
Is this subpath closed?
Default implementation returns true
.
Reimplemented in ipe::Curve.
Referenced by ipe::Shape::isSegment().
|
virtual |
Return this object as an Ellipse, or nullptr if it's not an ellipse.
Reimplemented in ipe::Ellipse.
|
virtual |
Return this object as an ClosedSpline, or nullptr if it's not a closed spline.
Reimplemented in ipe::ClosedSpline.
|
virtual |
Return this object as an Curve, or else nullptr.
Reimplemented in ipe::Curve.
Referenced by ipe::Path::draw(), ipe::Shape::isSegment(), and ipe::Shape::load().
|
pure virtual |
Save subpath to XML stream.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::save().
|
pure virtual |
Draw subpath (does not call drawPath()).
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::draw().
Add subpath to box.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::addToBBox().
|
pure virtual |
Return distance from v to subpath transformed by m.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::distance().
|
pure virtual |
Snap to vertex.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::snapVtx().
|
pure virtual |
Snap to boundary of subpath.
Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.
Referenced by ipe::Shape::snapBnd().