描画できない
描画できない場合は以下の項目を確認してください。
・GUI フレームワークを使用したアプリ (アプリクラスが SFYApplication を継承) の場合
1. 描画ハンドラの中で描画していますか?
2. 描画ハンドラマクロの引数の graphics を使って描画していますか?
// 描画ハンドラの定義(ウィンドウ内に描画) XANDLER_IMPLEMENT_VOIDRENDER(MyWindow, OnRenderRequest, invoker, reason, graphics) { unused(invoker); unused(reason); // 四角形を描画する graphics->DrawRectangle(SFXRectangle(10, 10, 25, 25)); // graphics->Update(); は必要なし }
3. コンストラクタ内で描画ハンドラを登録していますか?
// コンストラクタ MyWindow::MyWindow(Void) : ... { // ハンドラを登録する(エラー処理は省略) RegisterHandler( SFXEventRange(SFEVT_RESPONDER_RENDER, SFEVT_RESPONDER_RENDER, SFP16_RENDER_REQUEST, SFP16_RENDER_REQUEST), XANDLER_INTERNAL(OnRenderRequest)); return; }
・GUI フレームワークを使用しないアプリ (アプリクラスが SFCApplication を継承) の場合
1. グラフィックス・インターフェースを取得していますか?
SFXGraphicsPtr graphics; // グラフィックス・インターフェースを取得する graphics = SFXGraphics::GetInstance(); // 四角形を描画する graphics->DrawRectangle(SFXRectangle(10, 10, 25, 25));
2. SFXGraphics::Update 関数を呼び出していますか?
graphics->Update();
graphics インスタンスについては グラフィックインターフェースの取得 を参照
参照: リファレンス 3.1. SFY アプレット | リファレンス 5.5. カスタマイズ