SophiaFramework UNIVERSE 5.3 |
トレーサのリストを管理するクラスです。 このクラスの関数は SFYDistributer クラスと SFYResponder クラスを通して利用され、 開発者が直接操作することはありません。
トレーサ | 標準トレーサ | 配信エンジン | レスポンダツリー | ルートレスポンダ | SFYResponder::RegisterTracer | SFYResponder::UnregisterTracer | SFYResponder::ClearTracer | SFYDistributer | SFYResponder | SFZRoot | SFXEvent | SFXEventRange
enum OrderEnum { ORDER_FORWARD = 0, // イベントは前面から背面の順に処理される ORDER_BACKWARD // イベントは背面から前面の順に処理される }; SFMTYPEDEFTYPE(OrderEnum)
トレーサの配信規則における、イベントの処理順序を表します。
ORDER_FORWARD の場合、 イベントは前面に配置されたレスポンダから順に配信され、 最後に登録されたハンドラから順に起動されます。
ORDER_BACKWARD の場合、 イベントは背面に配置されたレスポンダから順に配信され、 最初に登録されたハンドラから順に起動されます。
SFMTYPEDEFSTRUCT(RuleRec) struct RuleRec { OrderEnum order; // 処理順序 StateEnum state; // 配信条件 Bool overload; // 重複条件 };
トレーサの配信規則における、処理順序と配信条件と重複条件のセットを表します。
SFYDistributer::RegisterTracer 関数や SFYResponder::RegisterTracer 関数で利用する構造体です。
以下は、複数のトレーサをまとめて登録するコードです。
static SFXEventRange::AtomRecConst range[] = { { SFEVT_APP_START, SFEVT_APP_START, SFP16_BEGIN, SFP16_END}, { SFEVT_APP_STOP, SFEVT_APP_STOP, SFP16_BEGIN, SFP16_END}, { SFEVT_APP_RESUME, SFEVT_APP_RESUME, SFP16_BEGIN, SFP16_END}, { SFEVT_APP_SUSPEND, SFEVT_APP_SUSPEND, SFP16_BEGIN, SFP16_END} }; static SFYTracer::RuleRecConst rule[lengthof(range)] = { { SFYTracer::ORDER_BACKWARD, SFYTracer::STATE_ALL, true}, { SFYTracer::ORDER_FORWARD, SFYTracer::STATE_ALL, true}, { SFYTracer::ORDER_BACKWARD, SFYTracer::STATE_ALL, true}, { SFYTracer::ORDER_FORWARD, SFYTracer::STATE_ALL, true} }; SFCError error; error = RegisterTracer(atomic_cast(range), rule, lengthof(range));
enum StateEnum { STATE_ALL = 0, // 有効状態が ON であるレスポンダに配信する STATE_VISIBLE, // 可視状態が ON であるレスポンダに配信する STATE_ACTIVE, // 活性状態が ON であるレスポンダに配信する STATE_ENABLE, // 操作可能状態が ON であるレスポンダに配信する STATE_FOCUS, // フォーカス状態が ON であるレスポンダに配信する STATE_NONE // イベントをレスポンダに配信しない }; SFMTYPEDEFTYPE(StateEnum)
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |