GaitGeneration by Graph Search
|
クリック判定を行うクラス. [詳解]
#include <dxlib_gui_updater.h>
公開メンバ関数 | |
template<IsDxlibUpdatable T> | |
void | Register (const std::shared_ptr< T > &gui_ptr, int priority) |
UpdateとDrawを行うGUIを登録する. IDxlibClickableまたは,IDxlibDraggable, IDxlibWheelHandlerを継承している場合は,それらも同時に登録する. | |
void | OpenTerminal () |
Terminalを開く. 他のGUIをRegisterした後に呼び出すこと. 2回目以降の呼び出しは無視される. また,Terminalは最も優先度が高い. | |
void | Activate (const std::shared_ptr< const Mouse > &mouse_ptr) |
GUIのUpdate関数を実行し,クリック,ドラッグなどの判定を行う. 優先度の高いものから順に各種判定を行う. | |
void | Draw () const |
登録済みのGUIのDraw関数を実行する. | |
静的公開変数類 | |
static constexpr int | kBottomPriority { 0 } |
最も優先度が低い. | |
static constexpr int | kTopPriority { 1000000 } |
最も優先的に処理される. | |
クリック判定を行うクラス.
一度のクリックで複数のGUIが反応することを防ぐために,優先度を設定する.
優先度が高いものから順にクリック判定を行い, クリックされたらそのGUIの Activate 関数を実行する.
同様に,ドラッグ判定,ホイール操作判定も行う.
神クラスになっている感は否めないが,また問題が起きたら修正する.
dxlib_gui_updater.h の 56 行目に定義があります。
void designlab::DxlibGuiUpdater::Activate | ( | const std::shared_ptr< const Mouse > & | mouse_ptr | ) |
GUIのUpdate関数を実行し,クリック,ドラッグなどの判定を行う.
優先度の高いものから順に各種判定を行う.
[in] | mouse_ptr | マウスの状態を管理するクラスのポインタ. |
dxlib_gui_updater.cpp の 47 行目に定義があります。
void designlab::DxlibGuiUpdater::Draw | ( | ) | const |
void designlab::DxlibGuiUpdater::OpenTerminal | ( | ) |
Terminalを開く.
他のGUIをRegisterした後に呼び出すこと.
2回目以降の呼び出しは無視される.
また,Terminalは最も優先度が高い.
dxlib_gui_updater.cpp の 21 行目に定義があります。
|
inline |
UpdateとDrawを行うGUIを登録する.
IDxlibClickableまたは,IDxlibDraggable, IDxlibWheelHandlerを継承している場合は,それらも同時に登録する.
[in] | gui_ptr | UpdateとDrawを行うGUIのポインタ. |
[in] | priority | GUIの優先度. これが高いほど優先的にUpdateとDrawが行われる. メンバ変数のkBottomPriority~kTopPriorityの間の値を設定すること. |
dxlib_gui_updater.h の 70 行目に定義があります。
|
staticconstexpr |
最も優先度が低い.
dxlib_gui_updater.h の 59 行目に定義があります。
|
staticconstexpr |
最も優先的に処理される.
dxlib_gui_updater.h の 60 行目に定義があります。