![]() ![]() ![]() ![]() |
SophiaFramework UNIVERSE 5.2 |
#include <SFYApplication.h.hpp>
class SFYApplication : public SFCApplication;
SFMTYPEDEFCLASS(SFYApplication)
■ 仕様と使い方
SFYApplication クラスは、 アプリケーションクラスを実装するための起点(基底クラス)となります。
SFY アプリの開発では、 アプリケーションクラスを 1 アプリに付き 1 つ用意する必要があります。
アプリケーションクラスのインスタンスは、 最初に作成され最後に破棄される、SFY アプリの実行を制御する中核モジュールです。
■イベント処理[全体的な処理の流れ]
参照: SFCApplication クラスの解説: イベント処理 −全体的な処理の流れ−
![]() |
優先的イベントハンドラ |
---|---|
SFXEventBypass クラスの解説を参照してください。 |
■階層構造
アプリケーションクラスは、 ウィンドウ、 ダイアログ、 メニュー、 コントロール、 フレームなどを管理する階層構造の頂点に位置します。
SFY レスポンダシステムでは、 アプリケーションクラスがウィンドウやダイアログ、メニューを管理し、 ウィンドウやダイアログがコントロールを管理するという階層構造になっています。
![]() |
SFYApplication クラスが保持するルート |
---|---|
SFYApplication は、 デフォルトでルートレスポンダとしてルート(SFZRoot)を 1 つ保持します。 アプリの GUI はルートを頂点とするレスポンダツリーを構築して実現します。 アプリケーションクラスに対してレスポンダ操作を行えますが、すべてルートに委譲されます。 ※ アプリケーションクラスに複数のルートを保持させることも可能ですが、 一般的なアプリ開発ではその必要性はほとんどありません。 |
■仮想関数
アプリケーションクラスは、 デフォルトの配信エンジンと 描画エンジンとルートを実装し、 いくつかの仮想関数のデフォルトの動作も実装します。
表 230. 仮想関数名とデフォルトの動作
仮想関数名 | デフォルトの動作 | オーバーライド |
---|---|---|
SFYApplication::HandleEvent | 配信エンジンを起動し、イベントが処理された場合はさらに描画エンジンを起動※1 | 任意 |
SFYApplication::HandleRender | 描画エンジンを起動し、画面を強制的に再描画※1 | 任意 |
SFCApplication::HandleError | − | 任意 |
![]() |
注釈 |
---|---|
※1. 配信エンジンや描画エンジンの起動中にメモリ不足などのエラーが発生するなど致命的なエラーが発生した場合は SFCApplication::HandleError 関数を起動します。 |
■ユーザー定義アプリケーションクラスの作成
ユーザー定義アプリケーションクラスを作成するときに最低限必要なコードを示します。
例 858. 宣言
SFMTYPEDEFCLASS(USRApplication) class USRApplication : public SFYApplication { SFMSEALCOPY(USRApplication) public: static SFCInvokerPtr Factory(Void); private: explicit USRApplication(Void) static_throws; virtual ~USRApplication(Void); };
例 859. 実装
// ブートローダ : BREW アプリで最初に実行される関数 SFCApplet::FactorySPP SFCApplet::Boot(AEECLSID id, SFXAnsiStringPtr license) { // ここにライセンスコードを記述する *license = "heap://"; return (id == AEECLSID_USRAPPLICATION) ? (&USRApplication::Factory) : (null); } // ファクトリ関数 : ユーザー定義アプリケーションクラスのインスタンスを生成する関数 SFCInvokerPtr USRApplication::Factory(Void) { return ::new USRApplication; } // コンストラクタ USRApplication::USRApplication(Void) static_throws { if (static_try()) { // 初期化処理を記述する } } // デストラクタ USRApplication::~USRApplication(Void) { // 終了処理を記述する }
![]() |
コンストラクタやデストラクタ内の return 文 |
---|---|
C++ ではコンストラクタやデストラクタでは return 文を記述しません。 GCC を使う場合、コンストラクタやデストラクタ内で return 文を記述すると、 特定の継承関係になっているときにコンパイラがフリーズするバグが確認されています。 |
アプリケーションクラス(基礎編) | SFY レスポンダシステム | ウィンドウ | ダイアログ | メニュー | コントロール | フレーム | レスポンダツリー | ルートレスポンダ | ルート | SFZRoot | SFCApplication
コンストラクタ/デストラクタ |
---|
SFYApplication( Void ) SFYApplication クラスのコンストラクタです。
|
SFYApplication(
SFXBaseEditorPtr editor
) SFYApplication クラスのコンストラクタです。
|
~SFYApplication( Void ) SFYApplication クラスのデストラクタです。
|
パブリック関数 | |
---|---|
Void |
ClearHandler( Void ) ルートのハンドラの登録をすべて解除します。
|
Void |
ClearTracer( Void ) ルートのトレーサの配信規則の登録をすべて解除します。
|
SFCError |
Distribute(
SFXEventConstRef event
, BoolPtr result = null
)
指定された配信型イベントを
SFYDistributer インスタンスとルート以下のレスポンダツリーに配信します。
|
SFYResponderSmp |
GetChildBack( Void ) 最背面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
Bool visible
, Bool active
, Bool enable
, Bool focus
) 最背面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
UInt32 id
) 最背面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBack(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 最背面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
) 背面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 背面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, UInt32 id
) 背面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildBackward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 背面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SInt32 |
GetChildCount( Void ) ルートの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
Bool visible
, Bool active
, Bool enable
, Bool focus
) ルートの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
UInt32 id
) ルートの子レスポンダの数を取得します。
|
SInt32 |
GetChildCount(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
) ルートの子レスポンダの数を取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
) 前面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 前面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, UInt32 id
) 前面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildForward(
SInt32 index
, UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 前面から数えて指定された順番に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront( Void ) 最前面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
Bool visible
, Bool active
, Bool enable
, Bool focus
) 最前面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
UInt32 id
) 最前面に位置するルートの子レスポンダを取得します。
|
SFYResponderSmp |
GetChildFront(
UInt32 id
, Bool visible
, Bool active
, Bool enable
, Bool focus
) 最前面に位置するルートの子レスポンダを取得します。
|
static SFYDistributerPtr |
GetDistributer( Void ) ルートに設定されている配信エンジンを取得します。
|
static SFXBaseEditorPtr |
GetEditor( Void ) テキスト入力コントロール処理用エディタを取得します。
|
SFXRectangle |
GetGlobalBound( Void ) ルートのグローバル領域を取得します。
|
static SFYApplicationPtr |
GetInstance( Void ) アプリケーションクラスのインスタンスを取得します。
|
SFXRectangle |
GetLocalBound( Void ) ルートのローカル領域を取得します。
|
SFXRectangleConstRef |
GetRealBound( Void ) ルートの実領域を取得します。
|
static SFYRendererPtr |
GetRenderer( Void ) ルートに設定されている描画エンジンを取得します。
|
static SFYResponderSmp |
GetRoot( Void ) SFYApplication クラスが内部に保持しているルートを取得します。
|
SFXRectangle |
GetSuitableBound( Void ) ルートの最適な領域(サイズ)を取得します。
|
SFXRectangle |
GetSuitableBound(
SFXRectangleConstRef param
) ルートの最適な領域(サイズ)を取得します。
|
SFXRectangleConstRef |
GetVirtualBound( Void ) ルートの仮想領域を取得します。
|
Void |
Invalidate( Void ) 指定された領域を再描画領域に登録します。
|
Void |
Invalidate(
SFXRectangleConstRef param
) 指定された領域を再描画領域に登録します。
|
Void |
InvokeBackward(
SFXEventConstRef event
, Bool overload
, BoolPtr result = null
) 指定されたコールバック型イベントをルートに送信します(ハンドラは登録順に起動されます)。
|
Void |
InvokeForward(
SFXEventConstRef event
, Bool overload
, BoolPtr result = null
) 指定されたコールバック型イベントをルートに送信します(ハンドラは登録の逆順に起動されます)。
|
SFCError |
RegisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
) 指定されたハンドラをルートに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstRef range
, SFYHandler::HandlerSPP spp
, VoidPtr reference
) 指定されたハンドラをルートに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::RuleRecConstPtr rule
, SInt32 length
) 指定されたハンドラをルートに登録します。
|
SFCError |
RegisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::HandlerSPPConstPtr spp
, VoidPtrConstPtr reference
, SInt32 length
) 指定されたハンドラをルートに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstRef range
, SFYTracer::RuleRecConstRef rule
) 指定された配信規則をルートのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstRef range
, SFYTracer::OrderEnum order
, SFYTracer::StateEnum state
, Bool overload
) 指定された配信規則をルートのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstPtr range
, SFYTracer::RuleRecConstPtr rule
, SInt32 length
) 指定された配信規則をルートのトレーサに登録します。
|
SFCError |
RegisterTracer(
SFXEventRangeConstPtr range
, SFYTracer::OrderEnumConstPtr order
, SFYTracer::StateEnumConstPtr state
, BoolConstPtr overload
, SInt32 length
) 指定された配信規則をルートのトレーサに登録します。
|
SFCError |
Render(
Bool force = false
)
ルート以下のレスポンダツリーを再描画します。
|
Void |
SetRealBound(
SFXRectangleConstRef param
) 指定された領域をルートの実領域に設定します。
|
Void |
SetVirtualBound(
SFXRectangleConstRef param
) 指定された領域をルートの仮想領域に設定します。
|
Void |
UnregisterHandler(
SFXEventRangeConstRef range
, SFYHandler::RuleRecConstRef rule
) 指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstRef range
, SFYHandler::HandlerSPP spp
, VoidPtr reference
) 指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::RuleRecConstPtr rule
, SInt32 length
) 指定されたハンドラの登録を解除します。
|
Void |
UnregisterHandler(
SFXEventRangeConstPtr range
, SFYHandler::HandlerSPPConstPtr spp
, VoidPtrConstPtr reference
, SInt32 length
) 指定されたハンドラの登録を解除します。
|
Void |
UnregisterTracer(
SFXEventRangeConstRef range
) ルートのトレーサから指定された配信規則の登録を解除します。
|
Void |
UnregisterTracer(
SFXEventRangeConstPtr range
, SInt32 length
) ルートのトレーサから指定された配信規則の登録を解除します。
|
static AEECLSID |
GetClassID( Void )
(SFCApplication から継承)
BREW アプリの ClassID を取得します。
|
Bool |
IsRenderable( Void )
(SFCApplication から継承)
画面の描画が可能かどうかを判定します。
|
SFCError |
RegisterBypass(
CallbackSPP spp
, VoidPtr reference
)
(SFCApplication から継承)
イベントを優先的に処理するためのコールバックを登録します。
|
static SFCError |
Terminate(
Bool idle = false
)
(SFCApplication から継承)
アクティブなアプリを終了します。
|
Void |
UnregisterBypass(
CallbackSPP spp
, VoidPtr reference
)
(SFCApplication から継承)
優先的イベントハンドラの登録を解除します。
|
プロテクト関数 | |
---|---|
SFYResponderSmp |
GetThis( Void ) SFYApplication クラスが内部に保持しているルートを取得します。
|
Bool |
HandleEvent(
SFXEventConstRef event
) アプリが BREW イベントを受信したときに呼び出される関数です(BREW イベントを処理します)。
|
Bool |
HandleRender(
SFXEventConstRef event
) アプリ開始時とレジューム時に呼び出される関数です(全画面を再描画します)。
|
Bool |
HandleError(
SFXEventConstRef event
, SFCError error
)
(SFCApplication から継承)
致命的なエラーが発生した場合に呼び出される関数です。
|
Bool |
Invoke(
SFXEventConstRef event
)
(SFCApplication から継承)
BREW イベント受信時に呼び出される仮想関数です。
|
型 |
---|
CallbackSPP
(SFCApplication から継承)
優先的イベントハンドラの型です。
|
[ protected, explicit ] SFYApplication(Void);
[ protected, explicit ] SFYApplication( SFXBaseEditorPtr editor // テキスト入力コントロールエディタ );
このコンストラクタは、以下の初期化処理を行います。
詳細は、下記のコードを参照してください。
SFYApplication::SFYApplication 関数の内部実装は以下の通りです。
// SFYApplication クラスの定義 class SFYApplication : public SFCApplication { SFMSEALCOPY(SFYApplication) private: SFZRootSmp _root; // ルート SFYDistributer _distributer; // 配信エンジン SFYRenderer _renderer; // 描画エンジン SFXBaseEditorPtr _editor; // テキスト入力コントロールエディタ public: ... }; // SFYApplication クラスのコンストラクタの実装 /*protected */SFYApplication::SFYApplication(Void) : _editor(null) static_throws { // 初期化処理 if (static_try()) { // テキスト入力コントロールエディタを作成する if ((_editor = ::new SFXEditor) != null) { // ルート、配信エンジン、描画エンジンの初期化を行う static_throw(Initialize()); } else { static_throw(SFERR_NO_MEMORY); } } }// SFYApplication::SFYApplication // // SFYApplication クラスのコンストラクタの実装 /*protected */SFYApplication::SFYApplication(SFXBaseEditorPtr editor) : _editor(editor) static_throws { // 初期化処理 if (static_try()) { // テキスト入力コントロールエディタが設定されているか if (_editor != null) { // ルート、配信エンジン、描画エンジンの初期化を行う static_throw(Initialize()); } else { static_throw(SFERR_NO_MEMORY); } } }// SFYApplication::SFYApplication // /*private */SFCError SFYApplication::Initialize(Void) { SFCError error; // 配信エンジンを初期化する if ((error = _distributer.Initialize()) == SFERR_NO_ERROR) { // 描画エンジンを初期化する // ※ 引数に指定した携帯電話の画面全体がレスポンダ空間として設定される if ((error = _renderer.Initialize(SFXGraphics::GetDeviceRectangle())) == SFERR_NO_ERROR) { // ルートを作成する if ((_root = SFZRoot::NewInstance(&error)) != null) { // ルートに配信エンジンを設定する _root->SetDistributer(&_distributer); // ルートに描画エンジンを設定する _root->SetRenderer(&_renderer); // ルートの実領域を設定する // ※1. 親レスポンダが存在しないルートはレスポンダ空間内に実領域を設定する // ※2. _root->GetSuitableBound() はレスポンダ空間(=「携帯電話の画面全体」)を返す // ※3. ルートの実領域は携帯電話の画面全体に設定される _root->SetRealBound(_root->GetSuitableBound()); // ルートの状態を「可視+活性+操作可能+フォーカス」にまとめて設定する _root->SetState(true, true, true, true); } } } return error; }// SFYApplication::Initialize //
参照: SFYDistributer::Initialize | SFYRenderer::Initialize | SFZRoot::NewInstance | SFYResponder::SetDistributer | SFYResponder::SetRenderer | SFYResponder::SetRealBound | SFYResponder::SetState |
SFZRoot | SFYDistributer | SFYRenderer | SFXEditor | 配信エンジン | 描画エンジン | レスポンダ空間 | ルート | ルートレスポンダ | 実領域 | 状態
[ protected, pure-virtual ] virtual ~SFYApplication(Void);
このデストラクタは、以下の処理を行います。
詳細は、下記のコードを参照してください。
SFYApplication::~SFYApplication 関数の内部実装は以下の通りです。
// SFYApplication クラスの定義 class SFYApplication : public SFCApplication { SFMSEALCOPY(SFYApplication) private: SFZRootSmp _root; // ルート SFYDistributer _distributer; // 配信エンジン SFYRenderer _renderer; // 描画エンジン SFXBaseEditorPtr _editor; // テキスト入力コントロールエディタ public: ... }; // SFYApplication クラスのデストラクタの実装 /*protected virtual */SFYApplication::~SFYApplication(Void) { // 終了処理(必ず下記の順序で行う) // テキスト入力コントロールエディタを破棄する ::delete _editor; // レスポンダツリーを解放する _root.Release(); // 描画エンジンを終了する _renderer.Terminate(); // 配信エンジンを終了する _distributer.Terminate(); }// SFYApplication::~SFYApplication //
参照: SFXResponderPointer::Release | SFYRenderer::Terminate | SFYDistributer::Terminate
[ public ] Void ClearHandler(Void);
この関数は、 SFYApplication クラスが内部に保持しているルートのハンドラの登録をすべて解除します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::ClearHandler 関数の解説を参照してください。 |
SFYResponder::ClearHandler | SFYApplication::RegisterHandler | SFYApplication::UnregisterHandler | SFZRoot | ハンドラ | ルート
[ public ] Void ClearTracer(Void);
この関数は、 SFYApplication クラスが内部に保持しているルートのトレーサの配信規則の登録をすべて解除します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::ClearTracer 関数の解説を参照してください。 |
SFYResponder::ClearTracer | SFYApplication::RegisterTracer | SFYApplication::UnregisterTracer | SFYTracer SFZRoot | ルート | トレーサ
[ public ] SFCError Distribute( SFXEventConstRef event // イベント BoolPtr result = null // 処理結果 );
この関数は、 指定された配信型イベントを、 SFYApplication クラスが内部に保持している ルートに設定された SFYDistributer インスタンスと ルート以下のレスポンダツリーに配信します。
イベントは、SFYDistributer インスタンス、ルート以下のレスポンダツリーの順に、 トレーサに登録された配信規則に基づき配信されます。
配信エンジン (SFYDistributer インスタンス)がルートに設定されていない場合は、 SFERR_INVALID_STATE が返ります (デフォルトの設定では、 SFYApplication クラスが内部に保持しているルートに設定されているので、 このエラーは発生しません)。
![]() |
注意 |
---|---|
result 引数に true が返された場合は、 レスポンダの状態が変化している可能性があるため、 SFYApplication::Render 関数を呼び出して再描画することを推奨します。 |
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
Distribute 関数の詳細は、 SFYResponder::Distribute 関数の解説を参照してください。 |
SFYResponder::Distribute | SFYApplication::Render | SFXEvent | SFYDistributer | SFZRoot | ルート | 配信エンジン | レスポンダツリー | イベントループ | 配信型 | コールバック型 | イベント
[ public, const ] SFYResponderSmp GetChildBack(Void);
[ public, const ] SFYResponderSmp GetChildBack( Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
[ public, const ] SFYResponderSmp GetChildBack( UInt32 id // ID );
[ public, const ] SFYResponderSmp GetChildBack( UInt32 id // ID Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
最背面に位置するルートの子レスポンダ。
存在しない場合は null を返します。
この関数は、 SFYApplication クラスが内部に保持しているルートについて、 最背面に位置する子レスポンダを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
アタッチメントフレームは、検索の対象外です。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetChildBack 関数の解説を参照してください。 |
SFYResponderSmp child; すべてのルートの子レスポンダの中で最背面のレスポンダを取得する方法 child = GetChildBack(); ID = 128 のルートの子レスポンダの中で最背面のレスポンダを取得する方法 child = GetChildBack(128); 可視かつ活性なルートの子レスポンダの中で最背面のレスポンダを取得する方法(操作可能とフォーカスの状態は問わない) child = GetChildBack(true, true, false, false); 可視、活性かつ操作可能なルートの子レスポンダの中で最背面のレスポンダを取得する方法(フォーカスの状態は問わない) child = GetChildBack(true, true, true, false);
SFYResponder::GetChildBack | SFYApplication::GetChildFront | SFYApplication::GetChildBackward | SFZRoot | ID | 状態 | 子レスポンダ | ルート
[ public, const ] SFYResponderSmp GetChildBackward( SInt32 index // 順番 (0-based) );
[ public, const ] SFYResponderSmp GetChildBackward( SInt32 index // 順番 (0-based) Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
[ public, const ] SFYResponderSmp GetChildBackward( SInt32 index // 順番 (0-based) UInt32 id // ID );
[ public, const ] SFYResponderSmp GetChildBackward( SInt32 index // 順番 (0-based) UInt32 id // ID Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
背面から数えて指定された順番に位置するルートの子レスポンダ。
存在しない場合は null を返します。
この関数は、 SFYApplication クラスが内部に保持しているルートについて、 背面から数えて指定された順番に位置する子レスポンダを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
アタッチメントフレームは、検索の対象外です。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetChildBackward 関数の解説を参照してください。 |
SFYResponderSmp child; すべてのルートの子レスポンダの中で背面から 3 番目のレスポンダを取得する方法 child = GetChildBackward(2); ID = 128 のルートの子レスポンダの中で背面から 3 番目のレスポンダを取得する方法 SFYResponderSmp child; 可視かつ活性なルートの子レスポンダの中で背面から 3 番目のレスポンダを取得する方法(操作可能とフォーカスの状態は問わない) child = GetChildBackward(2, true, true, false, false); 可視、活性かつ操作可能なルートの子レスポンダの中で背面から 3 番目のレスポンダを取得する方法(フォーカスの状態は問わない) child = GetChildBackward(2, true, true, true, false);
SFYResponder::GetChildBackward | SFYApplication::GetChildForward | SFYApplication::GetChildBack | SFZRoot | ID | 状態 | ルートの子レスポンダ | ルート
[ public, const ] SInt32 GetChildCount(Void);
[ public, const ] SInt32 GetChildCount( Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
[ public, const ] SInt32 GetChildCount( UInt32 id // ID );
[ public, const ] SInt32 GetChildCount( UInt32 id // ID Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
ルートの子レスポンダの数。
この関数は、 SFYApplication クラスが内部に保持しているルートについて、 子レスポンダの数を取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
アタッチメントフレームは、検索の対象外です。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetChildCount 関数の解説を参照してください。 |
SInt32 count; すべてのルートの子レスポンダの数を取得する方法 count = GetChildCount(); ID = 128 のルートの子レスポンダの数を取得する方法 count = GetChildCount(128); 可視かつ活性なルートの子レスポンダの数を取得する方法(操作可能とフォーカスの状態は問わない) count = GetChildCount(true, true, false, false); 可視、活性かつ操作可能なルートの子レスポンダの数を取得する方法(フォーカスの状態は問わない) count = GetChildCount(true, true, true, false);
[ public, const ] SFYResponderSmp GetChildForward( SInt32 index // 順番 (0-based) );
[ public, const ] SFYResponderSmp GetChildForward( SInt32 index // 順番 (0-based) Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
[ public, const ] SFYResponderSmp GetChildForward( SInt32 index // 順番 (0-based) UInt32 id // ID );
[ public, const ] SFYResponderSmp GetChildForward( SInt32 index // 順番 (0-based) UInt32 id // ID Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
前面から数えて指定された順番に位置するルートの子レスポンダ。
存在しない場合は null を返します。
この関数は、 SFYApplication クラスが内部に保持しているルートについて、 前面から数えて指定された順番に位置する子レスポンダを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
アタッチメントフレームは、検索の対象外です。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetChildForward 関数の解説を参照してください。 |
SFYResponderSmp child; すべてのルートの子レスポンダの中で前面から 3 番目のレスポンダを取得する方法 child = GetChildForward(2); ID = 128 のルートの子レスポンダの中で前面から 3 番目のレスポンダを取得する方法 child = GetChildForward(2, 128); 可視かつ活性なルートの子レスポンダの中で前面から 3 番目のレスポンダを取得する方法(操作可能とフォーカスの状態は問わない) child = GetChildForward(2, true, true, false, false); 可視、活性かつ操作可能なルートの子レスポンダの中で前面から 3 番目のレスポンダを取得する方法(フォーカスの状態は問わない) child = GetChildForward(2, true, true, true, false);
SFYResponder::GetChildForward | SFYApplication::GetChildBackward | SFZRoot | ID | 状態 | 子レスポンダ | ルート
[ public, const ] SFYResponderSmp GetChildFront(Void);
[ public, const ] SFYResponderSmp GetChildFront( Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
[ public, const ] SFYResponderSmp GetChildFront( UInt32 id // ID );
[ public, const ] SFYResponderSmp GetChildFront( UInt32 id // ID Bool visible // 可視条件 Bool active // 活性条件 Bool enable // 操作可能条件 Bool focus // フォーカス条件 );
最前面に位置するルートの子レスポンダ。
存在しない場合は null を返します。
この関数は、 SFYApplication クラスが内部に保持しているルートについて、 最前面に位置する子レスポンダを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
アタッチメントフレームは、検索の対象外です。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetChildFront 関数の解説を参照してください。 |
SFYResponderSmp child; すべてのルートの子レスポンダの中で最前面のレスポンダを取得する方法 child = GetChildFront(); ID = 128 のルートの子レスポンダの中で最前面のレスポンダを取得する方法 child = GetChildFront(128); 可視かつ活性なルートの子レスポンダの中で最前面のレスポンダを取得する方法(操作可能とフォーカスの状態は問わない) child = GetChildFront(true, true, false, false); 可視、活性かつ操作可能なルートの子レスポンダの中で最前面のレスポンダを取得する方法(フォーカスの状態は問わない) child = GetChildFront(true, true, true, false);
SFYResponder::GetChildFront | SFYApplication::GetChildBack | SFYApplication::GetChildForward| SFZRoot | ID | 状態 | 子レスポンダ | ルート
[ public, static ] SFYDistributerPtr GetDistributer(Void);
この関数は、 SFYApplication クラスが内部に保持しているルートに設定されている配信エンジンを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetDistributer 関数の解説を参照してください。 |
[ public, static ] SFXBaseEditorPtr GetEditor(Void);
アプリケーションクラスに設定されたテキスト入力コントロール処理用エディタ。
テキスト入力コントロール処理用エディタが設定されていない場合、null が返ります。
この関数は、 アプリケーションクラスが内部で保持するテキスト入力コントロール処理用エディタを取得します。
![]() |
注意 |
---|---|
SFYApplication::SFYApplication コンストラクタの editor 引数にユーザー定義のテキスト入力コントロール処理用エディタを指定することも可能です。 この引数に何も設定しない場合は、SFXEditor インスタンスが返ります。 |
[ public, const ] SFXRectangle GetGlobalBound(Void);
SFYApplication クラスが内部に保持しているルートのグローバル領域。
この関数は、 SFYApplication クラスが内部に保持しているルートのグローバル領域を取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetGlobalBound 関数の解説を参照してください。 |
SFYResponder::GetGlobalBound | SFYApplication::GetLocalBound | SFYApplication::GetRealBound | SFZRoot | ルート | グローバル領域
[ public, static ] SFYApplicationPtr GetInstance(Void);
この関数は、 1 つのアプリにつき 1 つだけ存在する、 このアプリケーションクラスのインスタンスを取得します。
![]() |
グローバル変数 |
---|---|
アプリケーションクラスに定義されたグローバル変数にアクセスするには、 下記の使用例のようにしてこの関数を呼び出します。 |
例 860. グローバル変数の定義とアクセス
// // ExampleAppli アプリケーションクラス(AppWizard で自動生成) // SFMTYPEDEFCLASS(ExampleAppli) class ExampleAppli : public SFYApplication { SFMSEALCOPY(ExampleAppli) public: static SFCInvokerPtr Factory(Void); private: explicit ExampleAppli(Void) static_throws; virtual ~ExampleAppli(Void); // グローバル変数 global_something_val を定義する SInt32 global_something_val; public: // グローバル変数 global_something_val にアクセスするための GetGlobalSomethingVal 関数を宣言する SInt32 GetGlobalSomethingVal(); }; // グローバル変数 global_something_val にアクセスするための GetGlobalSomethingVal 関数を定義する ExampleAppli::GetGlobalSomethingVal(Void) { return global_something_val; } // GetGlobalSomethingVal 関数経由でグローバル変数 global_something_val の値を取得する static_cast<ExampleAppli>(SFYApplication::GetInstance())->GetGlobalSomethingVal();
この関数の内部実装は以下の通りです。
/*public static */inline SFYApplicationPtr SFYApplication::GetInstance(Void) { return static_cast<SFYApplicationPtr>(SFCApplication::GetInstance()); }// SFYApplication::GetInstance //
[ public, const ] SFXRectangle GetLocalBound(Void);
SFYApplication クラスが内部に保持しているルートのローカル領域。
この関数は、 SFYApplication クラスが内部に保持しているルートのローカル領域を取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetLocalBound 関数の解説を参照してください。 |
SFYResponder::GetLocalBound | SFYApplication::GetGlobalBound | SFYApplication::GetVirtualBound | SFZRoot | ルート | ローカル領域
[ public, const ] SFXRectangleConstRef GetRealBound(Void);
SFYApplication クラスが内部に保持しているルートの実領域。
この関数は、 SFYApplication クラスが内部に保持しているルートの実領域を取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetRealBound 関数の解説を参照してください。 |
SFYResponder::GetRealBound | SFYApplication::SetRealBound | SFYApplication::GetVirtualBound | SFYApplication::GetGlobalBound | SFZRoot | ルート | 実領域
[ public, static ] SFYRendererPtr GetRenderer(Void);
この関数は、 SFYApplication クラスが内部に保持しているルートに設定されている描画エンジンを取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetRenderer 関数の解説を参照してください。 |
[ public, static ] SFYResponderSmp GetRoot(Void);
この関数は、 SFYApplication クラスが内部に保持しているルートを取得します。
[ public ] SFXRectangle GetSuitableBound(Void);
[ public ] SFXRectangle GetSuitableBound( SFXRectangleConstRef param // 参考にする領域 );
この関数は、 SFYApplication クラスが内部に保持しているルートの実領域の最適な領域(サイズ)を取得します。 を取得します。
引数を指定しない場合、 描画エンジンに設定されているレスポンダ空間(携帯画面全体)が返ります。
引数を指定した場合、何もせずに引数で与えた矩形領域が返るだけです。
![]() |
注意 |
---|---|
通常 SFYApplication::GetSuitableBound 関数は引数を指定せずに使用します。 |
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
Tip |
---|---|
SFYApplication クラスが内部に保持しているルートの実領域は、 SFYApplication::SFYApplication コンストラクタ内で設定されるので、この関数を使用する必要はありません。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetSuitableBound 関数の解説を参照してください。 |
SFYResponder::GetSuitableBound | SFYApplication::SetRealBound | SFYApplication::SFYApplication | SFZRoot | 実領域 | レスポンダ空間 | 描画エンジン | ルート
[ protected ] SFYResponderSmp GetThis(Void);
SFYApplication クラスが内部に保持しているルート。
この関数は、 SFYApplication クラスが内部に保持しているルートを取得します。
![]() |
注意 |
---|---|
SFYApplication クラスはルートレスポンダとしてデフォルトでルート(SFZRoot)を1つ保持しています。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetThis 関数の解説を参照してください。 |
[ public, const ] SFXRectangleConstRef GetVirtualBound(Void);
SFYApplication クラスが内部に保持しているルートの仮想領域。
この関数は、 SFYApplication クラスが内部に保持しているルートの仮想領域を取得します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::GetVirtualBound 関数の解説を参照してください。 |
SFYResponder::GetVirtualBound | SFYApplication::SetVirtualBound | SFYApplication::GetRealBound | SFYApplication::GetLocalBound | SFZRoot | ルート | 仮想領域
[ protected, virtual ] Bool HandleEvent( SFXEventConstRef event // イベント );
この関数は、 アプリが BREW 環境からイベント(BREW イベント) を受信したときに呼び出される仮想関数です(BREW イベントを処理します)。
イベントを処理した場合は true を返し、 そうでない場合は false を返します。
開発者はこの関数をオーバーライドすることで独自の処理を記述できます。
デフォルトの実装は以下の通りです。
![]() |
優先的イベントハンドラ |
---|---|
SFXEventBypass クラスの解説を参照してください。 |
詳細は、以下の内部実装のコードを参照してください。
この関数の内部実装は以下の通りです。
// BREW 環境からイベントを受信したときに呼び出される関数: BREW イベントを処理する /*protected virtual */Bool SFYApplication::HandleEvent(SFXEventConstRef event) { // ここに BREW 環境から受信した各種イベントの分岐処理を記述する SFCError error; Bool result(false); // 配信エンジンを起動し、トレーサを使用してイベントを配信する // イベントを最初に受信するのはルートに関連付けられた SFYDistributer インスタンス // その後、トレーサの配信規則に基づいてルートを頂点とするレスポンダツリー内のレスポンダにイベントは配信される // ※ _root はルート(SFZRoot) if ((error = _root->Distribute(event, &result)) == SFERR_NO_ERROR) { if (result) { // ※ result 引数には、イベントの配信結果が格納されている if (IsRenderable()) { // 画面を再描画しても良い場合(優先的イベントハンドラが登録されていない場合) // 描画エンジンを起動し、画面を再描画する error = _root->Render(); } } } if (error != SFERR_NO_ERROR) { // 配信エンジンや描画エンジンの起動時にメモリ不足などの致命的エラーが発生した場合、HandleError() を呼び出す if (HandleError(event, error)) { result = true; } } return result; // イベントを処理したときは true を返し, そうでないときは false を返す }// SFYApplication::HandleEvent //
参照: SFCApplication::HandleEvent | SFYApplication::Distribute | SFYApplication::Render | SFCApplication::IsRenderable | SFCApplication::HandleError | ルート | SFZRoot | 配信エンジン | トレーサ | 描画エンジン
SFCApplication::HandleEvent | SFCApplication::RegisterBypass | BREW イベント | イベント処理 | 配信エンジン | トレーサ | 描画エンジン
[ protected, virtual ] Bool HandleRender( SFXEventConstRef event // イベント );
この関数は、 アプリ開始時とレジューム時に呼び出される関数です(全画面を再描画します)。
全画面を再描画した場合は true を返し、 そうでない場合は false を返します。
![]() |
HandleRender 関数が呼び出されるタイミング |
---|---|
アプリ開始時とレジューム時は、 全画面の再描画が必要になります。 SFYApplication::HandleRender 関数は、 これらのタイミングで自動的に呼び出されます。 |
![]() |
優先的イベントハンドラ |
---|---|
SFXEventBypass クラスの解説を参照してください。 |
![]() |
通常の描画処理 |
---|---|
通常の描画処理は、SFYApplication::HandleRender 関数と関係有りません。 プログラムのどこに記述しても構いません。 |
デフォルトの実装は以下の通りです。
詳細は、以下の内部実装のコードを参照してください。
開発者はこの関数をオーバーライドすることで独自の処理を記述できます。
SFYApplication::HandleRender 関数の内部実装は以下の通りです
// アプリ開始時とレジューム時に呼び出される関数: 全画面を再描画する /*protected virtual */Bool SFYApplication::HandleRender(SFXEventConstRef event) { // ここにアプリ開始時とレジューム時の全画面の再描画処理を記述する SFCError error; Bool result(false); if (IsRenderable()) { // 画面が再描画可能なら(優先的イベントハンドラが登録されていないなら) // 全画面を再描画する: "Render(true)" なので可視領域を持つすべてのレスポンダの描画ハンドラが起動される // ※ _root はルート(SFZRoot) if ((error = _root->Render(true)) == SFERR_NO_ERROR) { result = true; } // 描画エンジンの起動時にメモリ不足などの致命的エラーが発生した場合、HandleError() を呼び出す else if (HandleError(event, error)) { result = true; } } return result; // 全画面を再描画したときは true を返し, そうでないときは false を返す }// SFYApplication::HandleRender //
参照: SFCApplication::IsRenderable | SFCApplication::HandleRender | SFYApplication::Render | SFCApplication::HandleError | SFZRoot | ルート | 描画エンジン
SFCApplication::IsRenderable | SFCApplication::HandleRender | SFCApplication::HandleError | アプリ開始時とレジューム時の全画面描画処理
[ public ] Void Invalidate(Void);
[ public ] Void Invalidate( SFXRectangleConstRef param // 設定する領域(デフォルト値: 何も指定しない場合、ルートの全領域) );
この関数は、 指定された領域(ルートのローカル領域の座標系で表した矩形)を再描画領域に登録します。
デフォルト値: param 引数に何も指定しない場合、ルートの全領域。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::Invalidate 関数の解説を参照してください。 |
[ public ] Void InvokeBackward( SFXEventConstRef event // イベント Bool overload // 重複条件 BoolPtr result = null // 処理結果 );
この関数は、 指定されたコールバック型イベントを SFYApplication クラスが内部に保持しているルートに送信します。
ハンドラは、 ルートのハンドラリストに登録された順に起動されます。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持している ルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::InvokeBackward 関数の解説を参照してください。 |
SFYResponder::InvokeBackward | SFYApplication::InvokeForward | SFYApplication::Distribute | SFXEvent | SFZRoot | ルート | コールバック型 | イベント | ハンドラ | ハンドラリスト
[ public ] Void InvokeForward( SFXEventConstRef event // イベント Bool overload // 重複条件 BoolPtr result = null // 処理結果 );
この関数は、 指定されたコールバック型イベントを SFYApplication クラスが内部に保持しているルートに送信します。
ハンドラは、 ルートのハンドラリストに登録された逆順に起動されます。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::InvokeForward 関数の解説を参照してください。 |
SFYResponder::InvokeForward | SFYApplication::InvokeBackward | SFYApplication::Distribute | SFXEvent | SFZRoot | ルート | コールバック型 | イベント | ハンドラ | ハンドラリスト
[ public ] SFCError RegisterHandler( SFXEventRangeConstRef range // イベント範囲 SFYHandler::RuleRecConstRef rule // ハンドラ規則 );
[ public ] SFCError RegisterHandler( SFXEventRangeConstRef range // イベント範囲 SFYHandler::HandlerSPP spp // ハンドラ関数 VoidPtr reference // リファレンス値 );
[ public ] SFCError RegisterHandler( SFXEventRangeConstPtr range // イベント範囲の配列 SFYHandler::RuleRecConstPtr rule // ハンドラ規則の配列 SInt32 length // 配列の要素数 );
[ public ] SFCError RegisterHandler( SFXEventRangeConstPtr range // イベント範囲の配列 SFYHandler::HandlerSPPConstPtr spp // ハンドラ関数の配列 VoidPtrConstPtr reference // リファレンス値の配列 SInt32 length // 配列の要素数 );
ハンドラ規則が適用されるイベントの範囲を表します。
ハンドラ関数とリファレンス値のセットを表します。
この関数は、 指定されたハンドラを SFYApplication クラスが内部に保持しているルートに登録します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::RegisterHandler 関数の解説を参照してください。 |
SFYResponder::RegisterHandler | SFYApplication::UnregisterHandler | SFYApplication::ClearHandler | SFZRoot | ルート | ハンドラ
[ public ] SFCError RegisterTracer( SFXEventRangeConstRef range // イベント範囲 SFYTracer::RuleRecConstRef rule // トレーサ規則 );
[ public ] SFCError RegisterTracer( SFXEventRangeConstRef range // イベント範囲 SFYTracer::OrderEnum order // 処理順序 SFYTracer::StateEnum state // 配信条件 Bool overload // 重複条件 );
[ public ] SFCError RegisterTracer( SFXEventRangeConstPtr range // イベント範囲の配列 SFYTracer::RuleRecConstPtr rule // トレーサ規則の配列 SInt32 length // 配列の要素数 );
[ public ] SFCError RegisterTracer( SFXEventRangeConstPtr range // イベント範囲の配列 SFYTracer::OrderEnumConstPtr order // 配信順序の配列 SFYTracer::StateEnumConstPtr state // 配信条件の配列 BoolConstPtr overload // 重複条件の配列 SInt32 length // 配列の要素数 );
トレーサ規則が適用されるイベントの範囲を表します。
配信順序と配信条件と重複条件のセットを表します。
この関数は、 指定された配信規則を SFYApplication クラスが内部に保持しているルートのトレーサに登録します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::RegisterTracer 関数の解説を参照してください。 |
SFYTracer::StateEnum | SFYTracer::OrderEnum | SFYTracer::RuleRec | SFYResponder::RegisterTracer | SFYApplication::UnregisterTracer | SFYApplication::ClearTracer | SFXEventRange | SFXEvent | SFYTracer | SFZRoot | ルート | トレーサ
この関数は、 SFYApplication クラスが内部に保持している ルート以下のレスポンダツリーを再描画します。
描画エンジン (SFYRenderer インスタンス)がルートに設定されていない場合は、 SFERR_INVALID_STATE が返ります (デフォルトの設定では、 SFYApplication クラスが内部に保持しているルートに設定されているので、 このエラーは発生しません)。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::Render 関数の解説を参照してください。 |
SFYResponder::Render | SFZRoot | 描画エンジン | ルート
[ public ] Void SetRealBound( SFXRectangleConstRef param // 設定する値 );
この関数は、 指定された領域を SFYApplication クラスが内部に保持しているルートの 実領域に設定します。
デフォルト値: SFXGraphics::GetDeviceRectangle 関数で得られる携帯電話の画面領域。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
アプリケーションクラスの実領域 |
---|---|
アプリケーションクラスの実領域とは、 ルート(SFZRoot)のクリッピング領域のことです (ルートはこの領域でクリッピングされて描画されます)。 レスポンダ空間の左上端を原点 (0, 0) とする相対座標系の矩形領域として表されます。 SFYApplication::SFYApplication コンストラクタ内で、 この領域はレスポンダ空間と同じ領域 (SFXGraphics::GetDeviceRectangle 関数で得られる携帯電話の画面領域)に設定されます。 通常、デフォルトの設定で十分なので SFYApplication::SetRealBound 関数を利用する必要はありません。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::SetRealBound 関数の解説を参照してください。 |
SFYResponder::SetRealBound | SFYApplication::GetRealBound | SFYApplication::SetVirtualBound | SFYApplication::SFYApplication | SFXGraphics::GetDeviceRectangle | SFXRectangle | SFZRoot | 実領域 | レスポンダ空間 | ルート
[ public ] Void SetVirtualBound( SFXRectangleConstRef param // 設定する値 );
この関数は、 指定された領域を SFYApplication クラスが内部に保持しているルートの 仮想領域に設定します。
デフォルト値: SFXGraphics::GetDeviceRectangle 関数で得られる携帯電話の画面領域。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
アプリケーションクラスの仮想領域 |
---|---|
アプリケーションクラスの仮想領域とは、 ルート(SFZRoot)の仮想領域のことです。 この領域は、 ルートの実領域と同じ領域 (SFXGraphics::GetDeviceRectangle 関数で得られる携帯電話の画面領域)に設定されます。 通常、デフォルトの設定で十分なので SFYApplication::SetVirtualBound 関数を利用する必要はありません。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::SetVirtualBound 関数の解説を参照してください。 |
SFYResponder::SetVirtualBound | SFYApplication::GetVirtualBound | SFYApplication::SetRealBound | SFXGraphics::GetDeviceRectangle | SFXRectangle | SFZRoot | 仮想領域 | 実領域 | ルート
[ public ] Void UnregisterHandler( SFXEventRangeConstRef range // イベント範囲 SFYHandler::RuleRecConstRef rule // ハンドラ規則 );
[ public ] Void UnregisterHandler( SFXEventRangeConstRef range // イベント範囲 SFYHandler::HandlerSPP spp // ハンドラ関数 VoidPtr reference // リファレンス値 );
[ public ] Void UnregisterHandler( SFXEventRangeConstPtr range // イベント範囲の配列 SFYHandler::RuleRecConstPtr rule // ハンドラ規則の配列 SInt32 length // 配列の要素数 );
[ public ] Void UnregisterHandler( SFXEventRangeConstPtr range // イベント範囲の配列 SFYHandler::HandlerSPPConstPtr spp // ハンドラ関数の配列 VoidPtrConstPtr reference // リファレンス値の配列 SInt32 length // 配列の要素数 );
ハンドラ規則が適用されるイベントの範囲を表します。
ハンドラ関数とリファレンス値のセットを表します。
この関数は、 SFYApplication クラスが内部に保持しているルートから 指定されたハンドラの登録を解除します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::UnregisterHandler 関数の解説を参照してください。 |
SFYResponder::UnregisterHandler | SFYApplication::RegisterHandler | SFYApplication::ClearHandler | SFXEventRange | SFZRoot | ルート | ハンドラ
[ public ] Void UnregisterTracer( SFXEventRangeConstRef range // イベント範囲 );
[ public ] Void UnregisterTracer( SFXEventRangeConstPtr range // イベント範囲の配列 SInt32 length // 配列の要素数 );
トレーサ規則が適用されるイベントの範囲を表します。
この関数は、 SFYApplication クラスが内部に保持しているルートの トレーサから指定された配信規則の登録を解除します。
![]() |
注意 |
---|---|
この操作は SFYApplication クラスが内部に保持しているルートに委譲されて処理されます。 |
![]() |
注意 |
---|---|
詳細は、 SFYResponder::UnregisterTracer 関数の解説を参照してください。 |
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]() ![]() |