ShadowEllipse オブジェクトは、次に示すように下に影の付いた楕円オブジェクトです。
このようなオブジェクトは、
IlvGraphic
クラスのサブクラスを実装して初めから設計することができます。 IlvGraphic は抽象クラスです。このため、メソッドの中には派生クラスで再定義する必要があるものがあります。このことは、以下のメソッドに当てはまります。
public abstract void draw(Graphics dst, IlvTransformer t)
public abstract IlvRect boundingBox(IlvTransformer t)
public abstract void applyTransform(IlvTransformer t)
public abstract IlvGraphic copy()
move
、resize
、rotate
、contains
などのその他のメソッドには、IlvGraphic
実装のデフォルト実装があります。これらのメソッドとバウンディング・ボックスを変更する他のメソッドは、applyTransform
関数の呼び出しによって実装されます。新規クラスにこれらのメソッドのいくつかを定義する親クラスがある場合は、この親クラスから簡単に関数を継承できます。ShadowEllipse
クラスは、draw
、contains
、および boundingBox
メソッドを定義します。さらに、オブジェクトをストリームに書き込みする際に必要な write
メソッドと、ストリームからオブジェクトを読み込むパラメーターとして IlvInputStream
を取るコンストラクターを定義します。詳細については、「write メソッド」および「read コンストラクター」を参照してください。これらのメソッドにはデフォルト実装はありません。IlvGraphic
クラスの各サブクラスに対するメソッドのバージョンを提供する必要があります。ストリームに追加情報を書き込まない場合は、write
メソッドを実装する必要はありませんが、IlvInputStream
パラメーターで必ずコンストラクターを定義します。そうしないと、ストリームからオブジェクトを読み込めません。