MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_ui_event_context.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_UI_EVENT_CONTEXT_H_1688694866
12#define INCGUARD_MGL_UI_EVENT_CONTEXT_H_1688694866
13
17
18namespace MGL::UI
19{
20class EventListener;
21class EventDelegate;
22
24{
25public:
26 EventContext(EventListener *listener) noexcept;
27 EventContext(EventListener *listener, EventDelegate *delegate) noexcept;
28
29 /* ------------------------------------------------------------------------- */
33 /* ------------------------------------------------------------------------- */
34 void ClearTargets() noexcept
35 {
36 _targets.clear();
37 }
38
39 /* ------------------------------------------------------------------------- */
44 /* ------------------------------------------------------------------------- */
45 void AddTarget(const EventTarget &target) noexcept
46 {
47 _targets.push_back(target);
48 }
49
50 /* ------------------------------------------------------------------------- */
55 /* ------------------------------------------------------------------------- */
57 {
58 return _targets;
59 }
60
61 EventResult Update() noexcept;
62
63 void SendEvent(const EventResult &result) noexcept;
64
65private:
66 EventListener *_listener;
67 EventDelegate *_delegate;
68 EventID _focusID{kInvalidEventID};
70 DefaultEventDelegate _defaultDelegate;
71};
72} // namespace MGL::UI
73
74#endif // INCGUARD_MGL_UI_EVENT_CONTEXT_H_1688694866
75
76// vim: et ts=4 sw=4 sts=4
Definition mgl_ui_event_context.h:24
EventContext(EventListener *listener) noexcept
コンストラクタ
Definition mgl_ui_event_context.cc:28
EventResult Update() noexcept
イベントの更新
Definition mgl_ui_event_context.cc:57
void SendEvent(const EventResult &result) noexcept
イベントの送信
Definition mgl_ui_event_context.cc:74
void ClearTargets() noexcept
イベント対象のクリア
Definition mgl_ui_event_context.h:34
constexpr MGL::STL::vector< EventTarget > & GetTargets() noexcept
イベント対象を取得
Definition mgl_ui_event_context.h:56
void AddTarget(const EventTarget &target) noexcept
イベント対象を追加
Definition mgl_ui_event_context.h:45
Definition mgl_ui_event_delegate.h:20
イベントリスナーインターフェース
Definition mgl_ui_event_listener.h:21
MGL STLコンテナの代替
std::vector< T, Allocator< T > > vector
std::vectorの代替
Definition mgl_stl_containers.h:51
MGL UIイベントのデフォルトデリゲート
MGL UIイベント関連定義
イベント結果
Definition mgl_ui_event_defs.h:58
イベント対象の情報
Definition mgl_ui_event_defs.h:44