Ipelib
|
The group object. More...
#include <ipegroup.h>
Inherits ipe::Object.
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 |
Group::Group | ( | ) | [explicit] |
Create empty group (objects can be added later).
Group::Group | ( | const Group & | rhs | ) |
Copy constructor. Constant time --- components are not copied!
Group::~Group | ( | ) | [virtual] |
Destructor.
Group::Group | ( | const XmlAttributes & | attr | ) | [explicit] |
Create empty group with these attributes (objects can be added later).
Object * Group::clone | ( | ) | const [virtual] |
Clone a group object (constant-time).
Implements ipe::Object.
Group * Group::asGroup | ( | ) | [virtual] |
Return pointer to this object.
Reimplemented from ipe::Object.
Object::Type Group::type | ( | ) | const [virtual] |
Implements ipe::Object.
TPinned Group::pinned | ( | ) | const [virtual] |
Return total pinning status of group and its elements.
Reimplemented from ipe::Object.
void Group::accept | ( | Visitor & | visitor | ) | const [virtual] |
Call visitGroup of visitor.
Implements ipe::Object.
Save the object in XML format.
Implements ipe::Object.
void Group::draw | ( | Painter & | painter | ) | const [virtual] |
Draw the object.
Implements ipe::Object.
void Group::drawSimple | ( | Painter & | painter | ) | const [virtual] |
Draw simple version for selecting and transforming.
Implements ipe::Object.
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.
Return distance of transformed object to point v. If larger than bound, can just return bound.
Implements ipe::Object.
void Group::snapVtx | ( | const Vector & | mouse, |
const Matrix & | m, | ||
Vector & | pos, | ||
double & | bound | ||
) | const [virtual] |
Compute possible vertex snapping position for transformed object.
Looks only for positions closer than bound. If successful, modify pos and bound.
Implements ipe::Object.
void Group::snapBnd | ( | const Vector & | mouse, |
const Matrix & | m, | ||
Vector & | pos, | ||
double & | bound | ||
) | const [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.
const Shape& ipe::Group::clip | ( | ) | const [inline] |
void Group::setClip | ( | const Shape & | clip | ) |
Set clip path for this group.
Any previously set clip path is deleted.
int ipe::Group::count | ( | ) | const [inline] |
Return number of component objects.
const Object* ipe::Group::object | ( | int | i | ) | const [inline] |
Return object at index i.
const_iterator ipe::Group::begin | ( | ) | const [inline] |
Return iterator for first object.
const_iterator ipe::Group::end | ( | ) | const [inline] |
Return iterator for end of sequence.
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.
void Group::saveComponentsAsXml | ( | Stream & | stream | ) | const |
Save all the components, one by one, in XML format.
void Group::checkStyle | ( | const Cascade * | sheet, |
AttributeSeq & | seq | ||
) | const [virtual] |
Check all symbolic attributes.
Reimplemented from ipe::Object.
bool Group::setAttribute | ( | Property | prop, |
Attribute | value, | ||
Attribute | stroke, | ||
Attribute | fill | ||
) | [virtual] |
Set attribute on all children.
Reimplemented from ipe::Object.