Redefining IlvGraphic Member Functions

The following member functions of IlvGraphic must always be redefined (these are the member functions that make IlvGraphic an abstract class):

virtual void draw(IlvPort* dst,

const IlvTransformer* t = 0,

const IlvRegion* clip = 0) const;

virtual void boundingBox(IlvRect& bbox,

const IlvTransformer* t = 0) const;

virtual void applyTransform(const IlvTransformer* t);

virtual void write(IlvOutputFile&) const;

The other member functions—such as IlvGraphic::move, IlvGraphic::resize, IlvGraphic::rotate, and IlvGraphic::contains—have a default implementation from the IlvGraphic class. That is, IlvGraphic::resize is implemented by means of a call to your applyTransform function, and so on.

If the new class has a parent that defines some of these member functions, you can simply inherit the functions from this parent.