キャンバスウィジェットを提供するクラス [詳細]
#include <sgobject.h>
Public メソッド | |
SGCanvasObject (SGDialog *dlg, SGObject *parent, int id) | |
コンストラクタ | |
virtual | ~SGCanvasObject () |
デストラクタ | |
virtual SGHandle | HitTest (int posx, int posy) |
virtual void | Draw (SGSurface *surface, SGRect region, int offx=0, int offy=0) |
int | CreateSurface () |
キャンバスオブジェクトを作成する | |
void | SetSurface (SGSurface *surface) |
キャンバスオブジェクトを登録する | |
SGSurface * | GetSurface () |
サーフェースを取得する |
キャンバスウィジェットを提供するクラス
SGCanvasObject | ( | SGDialog * | dlg, | |
SGObject * | parent, | |||
int | id | |||
) |
コンストラクタ
dlg | このオブジェクトを持っているダイアログ | |
parent | このオブジェクトを管理する親オブジェクト | |
id | オブジェクトのリソースID |
~SGCanvasObject | ( | ) | [virtual] |
デストラクタ
CreateSurface()で作成されたサーフェース、SetSurface()で登録されたサーフェースが存在する場合 そのサーフェースのRelease()をコールし、そのポインタをdeleteします。
SetSurface()で登録した場合はポインタの管理に十分注意して下さい。
デストラクタでのリリースやdeleteを回避する場合は、終了前にSetSurface(NULL)を実行して下さい。
SGHandle HitTest | ( | int | posx, | |
int | posy | |||
) | [virtual] |
指定した座標にオブジェクトが存在するか判定する 指定した座標にオブジェクトが存在するか判定します。
posx | X座標(ダイアログの左辺を0とする) | |
posy | Y座標(ダイアログの上辺を0とする) |
SGObjectを再定義しています。
オブジェクトを描画する 更新範囲内に含まれるオブジェクトの描画を行います。
surface | 表示するサーフェース | |
region | 更新範囲 | |
offx | オフセットX | |
offy | オフセットY |
SGObjectを再定義しています。
int CreateSurface | ( | ) |
キャンバスオブジェクトを作成する
この関数は動的にサーフェースを作成しますが、既にサーフェースが存在している場合は 以前のサーフェースのRelease()をコールし、そのポインタをdeleteします。
TRUE | オブジェクトの作成に成功した | |
FALSE | オブジェクトの作成に失敗した |
void SetSurface | ( | SGSurface * | surface | ) |
キャンバスオブジェクトを登録する
登録の際、既にサーフェースが存在している場合も 以前に作成されたサーフェースのリリースやdeleteは行いません。
この関数の2回目以降の呼び出しの前回のサーフェースの解放はユーザ側で行う必要があります。
TRUE | オブジェクトの作成に成功した | |
FALSE | オブジェクトの作成に失敗した |
SGSurface * GetSurface | ( | ) |
サーフェースを取得する
現在登録されているサーフェースのポインタを取得します。