GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
クラス | 公開メンバ関数 | 静的公開変数類 | 全メンバ一覧
designlab::DxlibGuiUpdater クラスfinal

クリック判定を行うクラス. [詳解]

#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.h56 行目に定義があります。

関数詳解

◆ Activate()

void designlab::DxlibGuiUpdater::Activate ( const std::shared_ptr< const Mouse > &  mouse_ptr)

GUIのUpdate関数を実行し,クリック,ドラッグなどの判定を行う.
優先度の高いものから順に各種判定を行う.

引数
[in]mouse_ptrマウスの状態を管理するクラスのポインタ.

dxlib_gui_updater.cpp47 行目に定義があります。

被呼び出し関係図:

◆ Draw()

void designlab::DxlibGuiUpdater::Draw ( ) const

登録済みのGUIのDraw関数を実行する.

dxlib_gui_updater.cpp57 行目に定義があります。

被呼び出し関係図:

◆ OpenTerminal()

void designlab::DxlibGuiUpdater::OpenTerminal ( )

Terminalを開く.
他のGUIをRegisterした後に呼び出すこと.
2回目以降の呼び出しは無視される.
また,Terminalは最も優先度が高い.

dxlib_gui_updater.cpp21 行目に定義があります。

被呼び出し関係図:

◆ Register()

template<IsDxlibUpdatable T>
void designlab::DxlibGuiUpdater::Register ( const std::shared_ptr< T > &  gui_ptr,
int  priority 
)
inline

UpdateとDrawを行うGUIを登録する.
IDxlibClickableまたは,IDxlibDraggable, IDxlibWheelHandlerを継承している場合は,それらも同時に登録する.

引数
[in]gui_ptrUpdateとDrawを行うGUIのポインタ.
[in]priorityGUIの優先度. これが高いほど優先的にUpdateとDrawが行われる.
メンバ変数のkBottomPriority~kTopPriorityの間の値を設定すること.

dxlib_gui_updater.h70 行目に定義があります。

被呼び出し関係図:

メンバ詳解

◆ kBottomPriority

constexpr int designlab::DxlibGuiUpdater::kBottomPriority { 0 }
staticconstexpr

最も優先度が低い.

dxlib_gui_updater.h59 行目に定義があります。

◆ kTopPriority

constexpr int designlab::DxlibGuiUpdater::kTopPriority { 1000000 }
staticconstexpr

最も優先的に処理される.

dxlib_gui_updater.h60 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: