ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

描画ができない

描画ができない場合は以下の項目をご確認ください。

・GUI フレームワークを使用したアプリ (アプリクラスが SFRApplication を継承) の場合

1. 描画ハンドラの中で描画していますか?

2. 描画ハンドラマクロの引数の graphics を使って描画していますか?

// 描画ハンドラの定義(ウィンドウ内に描画)
HANDLER_IMPLEMENT_VOIDRENDER(MyWindow, OnRenderContent, graphics)
{
    // 四角形を描画する
    graphics->DrawRectangle(SFXRectangle(10, 10, 25, 25));
    
    // graphics->Update(); は必要なし
}

3. コンストラクタで描画ハンドラを登録していますか?

// コンストラクタ
MyWindow::MyWindow(Void) : ...
{
    // ハンドラを登録する(エラー処理は省略)
    RegisterHandler(SREVT_RESPONDER_RENDER, SRP16_RENDER_CONTENT,
                        HANDLER_BEFORE, HANDLER_FUNCTION(OnRenderContent));
    return;
}

・GUI フレームワークを使用しないアプリ (アプリクラスが SFCApplication を継承) の場合

1. グラフィックス・インターフェースを取得していますか?

SFXGraphicsPtr graphics;

// グラフィックス・インターフェースを取得する
graphics = SFXGraphics::GetInstance();

// 四角形を描画する
graphics->DrawRectangle(SFXRectangle(10, 10, 25, 25));

2. SFXGraphics::Update 関数を呼び出していますか?

graphics->Update();

graphics インスタンスについては グラフィックインターフェースの取得 を参照

参照: リファレンス 7.3.3 ウィンドウ内の描画 |
リファレンス 5.3 画面に描画する