Inherited by IpeFillable, IpeImage, IpeMark, IpeReference, and IpeText.
All Ipe objects are derived from this class. It provides functionality common to all objects, and carries the standard attributes.
All IpeObject's provide a constant time copy constructor (and a virtual IpeObject::Clone() method). Objects of non-constant size realize this by separating the implementation and using reference counting. In particular, copying a composite objects does not create new copies of the components.
The common attributes are stroke and fill color, line style and width, and the transformation matrix for coordinates.
|
Pure virtual destructor.
|
|
Create object with null stroke and identity matrix. |
|
Create object by taking stroke color from attr and setting identity matrix. |
|
Construct from XML stream.
|
|
Copy constructor.
|
|
Calls VisitXXX method of the visitor.
Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Make a (shallow) copy of this object.
Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Return pointer to this object if it is an IpeFillable, 0 otherwise.
Reimplemented in IpeFillable. |
|
Return pointer to this object if it is an IpeGroup, 0 otherwise.
Reimplemented in IpeGroup. |
|
Return pointer to this object if it is an IpeText, 0 otherwise.
Reimplemented in IpeText. |
|
Return pointer to this object if it is an IpeMark, 0 otherwise.
Reimplemented in IpeMark. |
|
Return pointer to this object if it is an IpePath, 0 otherwise.
Reimplemented in IpePath. |
|
Return pointer to this object if it is an IpeImage , 0 otherwise.
Reimplemented in IpeImage. |
|
Return pointer to this object if it is an IpeRef, 0 otherwise.
Reimplemented in IpeReference. |
|
Save the object in XML format.
Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Draw the object.
Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Return distance of transformed object to point v. If larger than bound, can just return bound. Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Extend box to include the object transformed by m. For Ipe objects in a page, don't call this directly. The IpePgObject caches the bounding box, so it is far more efficient to call IpePgObject::BBox. If called with an empty box, 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). Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Compute possible vertex snapping position for transformed object. Looks only for positions closer than bound. If successful, modify pos and bound. Implemented in IpeGroup, IpeImage, IpeMark, IpePath, IpeReference, and IpeText. |
|
Notify object about a change in the style sheet.
Reimplemented in IpeGroup, IpeMark, IpeFillable, IpePath, IpeReference, and IpeText. |
|
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 in IpeGroup, IpePath, and IpeReference. |
|
Set stroke color.
|
|
Set the transformation matrix. Don't use this on the IpeObject in an IpePgObject, because it wouldn't invalidate its bounding box. Call IpePgObject::Transform instead. |
|
Return object stroke color.
|
|
Return transformation matrix.
|
|
Snap to nearby vertex.
If distance between mouse and v is less than bound, set pos to v and bound to the distance, and return |
|
Write layer, stroke and matrix to XML stream.
|