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.