The ShadowEllipse object is an ellipse
object with a drop shadow, as seen below:
You can design such an object from scratch by implementing a
subclass of the
IlvGraphic
class. IlvGraphic is an abstract class. Therefore,
some of its methods must be redefined in derived classes. This is
the case for:
public abstract void draw(Graphics dst, IlvTransformer t)
public abstract IlvRect boundingBox(IlvTransformer t)
public abstract void applyTransform(IlvTransformer t)
public abstract IlvGraphic copy()
Other methods, such as
move
,
resize
,
rotate
, and
contains
, have a default implementation in the
IlvGraphic
implementation. These methods, as well as any other method that
modifies the bounding box, are implemented by means of a call to
the
applyTransform
function. If the new class has a parent that defines some of these
methods, you simply inherit the functions from this parent class.
The
ShadowEllipse
class defines the
draw
,
contains
, and
boundingBox
methods. In addition, it defines a
write
method that is necessary to write the object to a stream and a
constructor that takes an
IlvInputStream
as a parameter to read the object from a stream. For details, see The write method and The read constructor. These methods have no
default implementation. You must provide a version of them for each
subclass of the
IlvGraphic
class. If you do not intend to write additional information to the
stream, you do not need to implement the
write
method, but you always need to define a constructor with an
IlvInputStream
parameter. Otherwise, you will not be able to read the object from
a stream.