|
Ipelib
|
#include <ipegroup.h>
Inherits ipe::Object.
Public Types | |
| typedef List::const_iterator | const_iterator |
Public Types inherited from ipe::Object | |
| enum | Type { EGroup, EPath, EText, EImage, EReference } |
Public Member Functions | |
| Group () | |
| Group (const Group &rhs) | |
| virtual | ~Group () |
| Group (const XmlAttributes &attr) | |
| Group & | operator= (const Group &rhs) |
| virtual Object * | clone () const |
| virtual Group * | asGroup () |
| virtual const Group * | asGroup () const |
| virtual Type | type () const |
| virtual TPinned | pinned () const |
| virtual void | accept (Visitor &visitor) const |
| virtual void | saveAsXml (Stream &stream, String layer) const |
| virtual void | draw (Painter &painter) const |
| virtual void | drawSimple (Painter &painter) const |
| virtual void | addToBBox (Rect &box, const Matrix &m, bool cp) const |
| virtual double | distance (const Vector &v, const Matrix &m, double bound) const |
| virtual void | snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const |
| virtual void | snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const |
| virtual void | snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const |
| const Shape & | clip () const |
| void | setClip (const Shape &clip) |
| String | url () const |
| void | setUrl (String url) |
| int | count () const |
| const Object * | object (int i) const |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | push_back (Object *) |
| void | saveComponentsAsXml (Stream &stream) const |
| virtual void | checkStyle (const Cascade *sheet, AttributeSeq &seq) const |
| virtual Attribute | getAttribute (Property prop) const noexcept |
| virtual bool | setAttribute (Property prop, Attribute value) |
Public Member Functions inherited from ipe::Object | |
| virtual | ~Object ()=0 |
| virtual Text * | asText () |
| virtual Path * | asPath () |
| virtual Image * | asImage () |
| virtual Reference * | asReference () |
| void | setPinned (TPinned pin) |
| TTransformations | transformations () const |
| void | setTransformations (TTransformations trans) |
| void | setMatrix (const Matrix &matrix) |
| const Matrix & | matrix () const |
Additional Inherited Members | |
Protected Member Functions inherited from ipe::Object | |
| Object () | |
| Object (const AllAttributes &attr) | |
| Object (const Object &rhs) | |
| Object (const XmlAttributes &attr) | |
| void | saveAttributesAsXml (Stream &stream, String layer) const |
Static Protected Member Functions inherited from ipe::Object | |
| static void | checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq) |
Protected Attributes inherited from ipe::Object | |
| Matrix | iMatrix |
| TPinned | iPinned: 8 |
| TTransformations | iTransformations: 8 |
The group object.
Ipe objects can be grouped together, and the resulting composite can be used like any Ipe object.
This is an application of the "Composite" pattern.
| typedef List::const_iterator ipe::Group::const_iterator |
|
explicit |
Create empty group (objects can be added later).
Referenced by clone().
| Group::Group | ( | const Group & | rhs | ) |
Copy constructor. Constant time — components are not copied!
|
virtual |
Destructor.
|
explicit |
Create empty group with these attributes (objects can be added later).
References clip(), ipe::ENoPin, ipe::XmlAttributes::has(), ipe::Shape::load(), and ipe::Attribute::NORMAL().
|
virtual |
|
virtual |
Return pointer to this object.
Reimplemented from ipe::Object.
|
virtual |
Return pointer to this object.
Reimplemented from ipe::Object.
|
virtual |
Implements ipe::Object.
References ipe::Object::EGroup.
|
virtual |
Return total pinning status of group and its elements.
Reimplemented from ipe::Object.
References ipe::Object::pinned().
|
virtual |
Save the object in XML format.
Implements ipe::Object.
References ipe::Painter::cascade(), ipe::Shape::countSubPaths(), ipe::String::empty(), ipe::Attribute::isNormal(), ipe::Stream::putXmlString(), ipe::Shape::save(), ipe::Object::saveAttributesAsXml(), saveComponentsAsXml(), ipe::Attribute::string(), ipe::Vector::x, and ipe::Vector::y.
|
virtual |
Draw the object.
Implements ipe::Object.
References ipe::Painter::addClipPath(), addToBBox(), begin(), ipe::Rect::center(), end(), ipe::ETransformationsTranslations, ipe::Rect::height(), ipe::Object::matrix(), ipe::Painter::matrix(), ipe::Painter::newPath(), ipe::Painter::pop(), ipe::Painter::popMatrix(), ipe::Painter::push(), ipe::Painter::pushMatrix(), ipe::Painter::transform(), ipe::Object::transformations(), ipe::Painter::untransform(), and ipe::Rect::width().
|
virtual |
Draw simple version for selecting and transforming.
Implements ipe::Object.
References ipe::Painter::addClipPath(), begin(), end(), ipe::Object::matrix(), ipe::Painter::newPath(), ipe::Painter::pop(), ipe::Painter::popMatrix(), ipe::Painter::push(), ipe::Painter::pushMatrix(), ipe::Painter::transform(), ipe::Object::transformations(), and ipe::Painter::untransform().
Extend box to include the object transformed by m.
For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.
Control points that lie outside the visual object are included if cp is true.
If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).
Implements ipe::Object.
References ipe::Rect::addRect(), begin(), ipe::Rect::clipTo(), end(), and ipe::Object::matrix().
Referenced by draw().
Return distance of transformed object to point v. If larger than bound, can just return bound.
Implements ipe::Object.
References begin(), end(), and ipe::Object::matrix().
|
virtual |
Compute vertex snapping position for transformed object.
Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.
Reimplemented from ipe::Object.
References begin(), end(), and ipe::Object::matrix().
|
virtual |
Compute control point snapping position for transformed object.
Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.
Reimplemented from ipe::Object.
References begin(), end(), and ipe::Object::matrix().
|
virtual |
Compute boundary snapping position for transformed object.
Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.
Reimplemented from ipe::Object.
References begin(), end(), and ipe::Object::matrix().
|
inline |
| void Group::setClip | ( | const Shape & | clip | ) |
|
inline |
References setUrl().
Referenced by ipe::PdfWriter::createPageView(), and setUrl().
| void Group::setUrl | ( | String | url | ) |
|
inline |
Return number of component objects.
|
inline |
Return object at index i.
|
inline |
Return iterator for first object.
Referenced by addToBBox(), checkStyle(), distance(), draw(), drawSimple(), saveComponentsAsXml(), snapBnd(), snapCtl(), snapVtx(), ipe::Latex::takeResources(), and ipe::BitmapFinder::visitGroup().
|
inline |
Return iterator for end of sequence.
References checkStyle(), getAttribute(), ipe::Object::iPinned, push_back(), saveComponentsAsXml(), and setAttribute().
Referenced by addToBBox(), checkStyle(), distance(), draw(), drawSimple(), saveComponentsAsXml(), snapBnd(), snapCtl(), snapVtx(), ipe::Latex::takeResources(), and ipe::BitmapFinder::visitGroup().
| void Group::push_back | ( | Object * | obj | ) |
Add an object.
Takes ownership of the object. This will panic if the object shares its implementation! The method is only useful right after construction of the group.
References ipe::Object::pinned().
Referenced by end(), and ipe::ImlParser::parseObject().
| void Group::saveComponentsAsXml | ( | Stream & | stream | ) | const |
Save all the components, one by one, in XML format.
References begin(), and end().
Referenced by end(), and saveAsXml().
|
virtual |
Check all symbolic attributes.
Reimplemented from ipe::Object.
References begin(), and end().
Referenced by end().
Get setting of an attribute of this object.
If object does not have this attribute, returnes "undefined" attribute.
Reimplemented from ipe::Object.
References ipe::EPropDecoration, and ipe::Object::getAttribute().
Referenced by end().
Set attribute on all children.
Reimplemented from ipe::Object.
References ipe::EPropDecoration, ipe::EPropPinned, ipe::EPropTransformations, and ipe::Object::setAttribute().
Referenced by end().