![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |

ハンドラのリストを管理するクラスです。このクラスの関数は SFYDistributer クラスと SFYResponder クラスを通して利用され、開発者が直接操作することはありません。
| 型 |
|---|
|
HandlerSPP ハンドラ関数のプロトタイプです。
|
|
RuleRec ハンドラ関数とリファレンス値のセットを表します。
|
typedef Bool(* SFYHandler::HandlerSPP)(SFYResponderPtr invoker, SFXEventConstRef event, VoidPtr reference) SFMTYPEDEFTYPE(SFYHandler::HandlerSPP)
SFYDistributer クラスや SFYResponder クラスで利用するハンドラ関数です。
第 1 引数にこのハンドラ関数を呼び出したレスポンダ、第 2 引数にイベント、第 3 引数にリファレンス値が渡されます。
SFMTYPEDEFSTRUCT(RuleRec)
struct RuleRec {
HandlerSPP spp; // ハンドラ関数
VoidPtr reference; // リファレンス値
};
SFYDistributer::RegisterHandler 関数や SFYResponder::RegisterHandler 関数で利用する構造体です。
複数のハンドラをまとめて登録する方法
static SFXEventRange::AtomRecConst range[] = {
{ SFEVT_KEY, SFEVT_KEY, SFP16_BEGIN, SFP16_END},
{ SFEVT_KEY_PRESS, SFEVT_KEY_PRESS, SFP16_BEGIN, SFP16_END},
{ SFEVT_KEY_RELEASE, SFEVT_KEY_RELEASE, SFP16_BEGIN, SFP16_END}
};
SFYHandler::RuleRec rule[lengthof(range)];
SFCError error;
rule[0].spp = XANDLER_FUNCTION(OnKey);
rule[0].reference = this;
rule[1].spp = XANDLER_FUNCTION(OnKeyPress);
rule[1].reference = this;
rule[2].spp = XANDLER_FUNCTION(OnKeyRelease);
rule[2].reference = this;
error = RegisterHandler(atomic_cast(range), rule, lengthof(range));
|
Copyright (C) 2002 - 2009 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|