![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
カスタマイズ前
画面に "Hello World" 文字列が表示され、セレクト キーが押された時、アプリは終了します。
カスタマイズ
最初に画面には何も表示されず、1 キーが押された時、"Hello World" 文字列を表示するように変更します。
SFC アプリでは、キー ハンドラの中から画面を描画する OneKeyDraw 関数を呼び出します。
また、画面を更新するコード "graphics->Update();" が必要です。
例 5.7. 最初に "Hello World" 文字列を表示しない HandleRender 関数
// 描画ハンドラ Bool HelloWorld::HandleRender(SFXEventConstRef event) { // ここに描画時の処理を記述します。 SFXGraphicsPtr graphics; if (IsRenderable()) { // SFXGraphics インスタンスの取得をします。 graphics = SFXGraphics::GetInstance(); if (graphics != null) { // 画面を白色で塗りつぶします。 // SFXGraphics::GetDeviceRectangle() で画面全体 ( 長方形 ) を取得します。 // SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) は白色を表します( 左から R、G、B、アルファ値 )。 graphics->ClearRectangle(graphics->GetDeviceRectangle(), SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)); // GUI フレームワークを使わないアプリでは必ず画面を更新します。 graphics->Update(); return true; } } return false; }
例 5.8. 画面を描画する OneKeyDraw 関数
Void OneKeyDraw(Void)
{
// SFXGraphics インスタンスの取得
SFXGraphicsPtr graphics = SFXGraphics::GetInstance();
if (graphics != null) {
// 画面を白色で塗りつぶします。
// SFXGraphics::GetDeviceRectangle() で画面全体 ( 長方形 ) を取得します。
// SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) は白色を表します( 左から R、G、B、アルファ値 )。
graphics->ClearRectangle(graphics->GetDeviceRectangle(), SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00));
// 画面に "Hello World" 文字列を描画します。
graphics->DrawSingleText("Hello World", graphics->GetDeviceRectangle(), SFXRGBColor(0x00, 0x00, 0x00, 0x00));
// GUI フレームワークを使わないアプリでは必ず画面を更新します。
graphics->Update();
}
}
"1" キーが押された場合、OneKeyDraw 関数が呼ばれるようにキー ハンドラをカスタマイズします。
例 5.9. キー ハンドラ OnKey() のカスタマイズ
// キー ハンドラ Bool HelloWorld::OnKey(UInt16 key) { // キーイベントの処理 switch (key) { case AVK_SELECT: // セレクトキーが押されたとき Terminate(); // アプリを終了する return true; //*** 太字が追加部分 case AVK_1: // 1 キーが押されたとき OenKeyDraw(); // "Hello World" 文字列を描画する return true; } return false; }
カスタマイズ後
"1" キーが押されると、画面はクリアされ、文字列 "Hello World" が描画されます。
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|