Ipelib
Public Member Functions | List of all members
ipe::Image Class Reference

#include <ipeimage.h>

Inherits ipe::Object.

Public Member Functions

 Image (const Rect &rect, Bitmap bitmap)
 
 Image (const XmlAttributes &attr, String data)
 
 Image (const XmlAttributes &attr, Bitmap bitmap)
 
virtual Objectclone () const
 
virtual ImageasImage ()
 
virtual Type type () const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void accept (Visitor &visitor) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
Rect rect () const
 
Bitmap bitmap () const
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual TextasText ()
 
virtual PathasPath ()
 
virtual ReferenceasReference ()
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
virtual void snapVtx (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
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 

Additional Inherited Members

- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 
- 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
 

Detailed Description

The image object.

Constructor & Destructor Documentation

Image::Image ( const Rect rect,
Bitmap  bitmap 
)
explicit

Create a new image.

Referenced by clone().

Image::Image ( const XmlAttributes attr,
String  data 
)
explicit

Create from XML stream.

Image::Image ( const XmlAttributes attr,
Bitmap  bitmap 
)
explicit

Create from XML stream with given bitmap.

References ipe::Rect::addPoint(), ipe::Vector::x, and ipe::Vector::y.

Member Function Documentation

Object * Image::clone ( ) const
virtual

Clone object.

Implements ipe::Object.

References Image().

Image * Image::asImage ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Image::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EImage.

void Image::saveAsXml ( Stream stream,
String  layer 
) const
virtual

Save image in XML stream.

Implements ipe::Object.

References ipe::Bitmap::objNum(), rect(), and ipe::Object::saveAttributesAsXml().

void Image::draw ( Painter painter) const
virtual
void Image::drawSimple ( Painter painter) const
virtual
void Image::accept ( Visitor visitor) const
virtual

Call VisitImage of visitor.

Implements ipe::Object.

References ipe::Visitor::visitImage().

double Image::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

References ipe::Rect::addPoint(), ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Rect::certainClearance(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

void Image::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

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::addPoint(), ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

void Image::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
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 ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

Rect ipe::Image::rect ( ) const
inline

Return the rectangle occupied by the image on the paper.

The transformation matrix is applied to this, of course.

Referenced by saveAsXml().

Bitmap ipe::Image::bitmap ( ) const
inline

Return Bitmap of the image.

Referenced by ipe::BitmapFinder::visitImage().


The documentation for this class was generated from the following files: