DrawBitmapInteractor の定義
DrawBitmapInteractor クラスは、
IlvInteractor のサブクラスです。これは、
drawinter.h で宣言されており、
drawinter.cpp で定義されています。
DrawBitmapInteractor クラスの目的は、
BitmapView オブジェクトで生じるインタラクションを処理することです。マウスをクリックし、ドラッグすると、文書を変更する
DrawRectangleCommands を生成します。以下に
handleEvent メソッドのコードを示します。
IlvBoolean
DrawBitmapInteractor::handleEvent(IlvGraphic* g,
IlvEvent& event,
const IlvTransformer* t)
{
switch (event.getType()) {
case IlvButtonDown:
case IlvButtonDragged: {
IlvPoint point(event.x(),event.y());
if (t)
t->inverse(point);
_document->drawRectangle(point, 2, _document->getPalette());
return IlTrue;
}
default:
return IlFalse;
}
}
インタラクターは、BitmapDocument::drawRectangle メソッドを呼び出して、文書ビットマップに描画します。このメソッドは単に、DrawRectangleCommand を作成して、これを実行します。
void
BitmapDocument::drawRectangle(const IlvPoint& point,
IlvDim size,
IlvPalette* palette )
{
doCommand(new DrawRectangleCommand(this,
point,
size,
palette,
"drawRectangle"));
}
インタラクターは、BitmapView オブジェクトで文書ビットマップを表示するIlvZoomableIcon オブジェクトに設定されます。これは、BitmapView::initializeView メソッドで行われます。このメソッドのコードは、手順 2 と同じです。インタラクターは、呼び出しによってメソッドの最後に設定されます。
_icon->setInteractor(new DrawBitmapInteractor(document));
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.