GaitGeneration by Graph Search
|
Dxlibを使ったGUIの抽象クラス. [詳解]
#include <abstract_dxlib_gui.h>
公開メンバ関数 | |
AbstractDxlibGui ()=delete | |
AbstractDxlibGui (int width, int height) | |
virtual | ~AbstractDxlibGui ()=default |
void | SetPos (int pos_x, int pos_y, unsigned int option=kDxlibGuiAnchorLeftTop, bool this_is_first_time=false) |
GUIの位置を設定する. Dxlibの画面の座標は左上を原点とし,右下に行くほど値が大きくなる. 横方向にx軸,縦方向にy軸をとる. | |
virtual void | Update ()=0 |
GUIの更新,毎フレーム実行すること. | |
virtual void | Draw () const =0 |
GUIの描画. | |
void | SetVisible (bool visible) override |
GUIの表示を行うかどうかを設定する. | |
constexpr bool | IsVisible () const override |
GUIの表示を行うかどうかを返す. | |
void | ClickedAction (const DxlibMouseState &state) override |
GUIがクリックされたときに実行される関数. CursorOnGuiが true を返すときに呼び出される. 複数のGUIが重なっている場合は,優先度の高いものから順に呼び出される. | |
bool | CursorOnGui (int cursor_x, int cursor_y) const noexcept override |
GUIの上にカーソルがあるかどうかを返す. | |
bool | IsDraggable (int cursor_x, int cursor_y) const override |
ドラッグ可能な位置にあるかを判定する. | |
bool | IsDragged () const override |
ドラッグ中かどうかを取得する. | |
void | SetDragged (const bool is_dragged) override |
ドラッグ中かどうかを設定する. | |
void | DraggedAction (int cursor_dif_x, int cursor_dif_y, unsigned int mouse_key_bit) override |
ドラッグ中の処理を行う. カーソルは上にあるけど,ドラッグ中ではない場合でも呼び出される. | |
![]() | |
virtual | ~IDxlibGui ()=default |
![]() | |
virtual | ~IDxlibClickable ()=default |
![]() | |
virtual | ~IDxlibDraggable ()=default |
限定公開メンバ関数 | |
void | DrawBackground (const std::string &str) const |
限定公開変数類 | |
std::vector< std::unique_ptr< SimpleButton > > | button_ |
ボタンのリスト. | |
const int | width_ |
GUIの横幅. | |
const int | height_ |
GUIの縦幅. | |
bool | visible_ { true } |
GUIが表示されているかどうかのフラグ. | |
bool | is_dragging_ { false } |
int | gui_left_pos_x_ { 0 } |
GUIの左端の位置. | |
int | gui_top_pos_y_ { 0 } |
GUIの上端の位置. | |
int | init_pos_x_ { 0 } |
SetされたGUIの左上のX座標. | |
int | init_pos_y_ { 0 } |
SetされたGUIの左上のY座標. | |
int | font_handle_ { -1 } |
フォントハンドル. | |
静的限定公開変数類 | |
static constexpr int | kTitleBarHeight { 32 } |
タイトルバーの高さ. | |
Dxlibを使ったGUIの抽象クラス.
このクラスは,Dxlibを使ったGUIの抽象クラスである. このクラスを継承して,GUIを作成する.
abstract_dxlib_gui.h の 28 行目に定義があります。
|
delete |
designlab::AbstractDxlibGui::AbstractDxlibGui | ( | int | width, |
int | height | ||
) |
abstract_dxlib_gui.cpp の 20 行目に定義があります。
|
virtualdefault |
|
overridevirtual |
GUIがクリックされたときに実行される関数.
CursorOnGuiが true を返すときに呼び出される. 複数のGUIが重なっている場合は,優先度の高いものから順に呼び出される.
[in] | state | マウスの状態. |
designlab::IDxlibClickableを実装しています。
abstract_dxlib_gui.cpp の 92 行目に定義があります。
|
overridevirtualnoexcept |
GUIの上にカーソルがあるかどうかを返す.
[in] | cursor_x | マウスカーソルのX座標.左端を0とし,右に正の値をとる. |
[in] | cursor_y | マウスカーソルのY座標.上端を0とし,下に正の値をとる. |
designlab::IDxlibClickableを実装しています。
abstract_dxlib_gui.cpp の 104 行目に定義があります。
|
overridevirtual |
ドラッグ中の処理を行う.
カーソルは上にあるけど,ドラッグ中ではない場合でも呼び出される.
[in] | cursor_dif_x | 前回のフレームからのマウスカーソルのX座標の差分. |
[in] | cursor_dif_y | 前回のフレームからのマウスカーソルのY座標の差分. |
[in] | mouse_key_bit | 押されているマウスのボタン,Dxlib の定数, MOUSE_INPUT_LEFT などで指定する. |
designlab::IDxlibDraggableを実装しています。
abstract_dxlib_gui.cpp の 126 行目に定義があります。
|
pure virtual |
|
protected |
|
overridevirtual |
ドラッグ可能な位置にあるかを判定する.
[in] | cursor_x | マウスカーソルのX座標.左端が0.右方向に正. |
[in] | cursor_y | マウスカーソルのY座標.上端が0.下方向に正. |
designlab::IDxlibDraggableを実装しています。
abstract_dxlib_gui.cpp の 116 行目に定義があります。
|
inlineoverridevirtual |
ドラッグ中かどうかを取得する.
designlab::IDxlibDraggableを実装しています。
abstract_dxlib_gui.h の 71 行目に定義があります。
|
inlineconstexproverridevirtual |
GUIの表示を行うかどうかを返す.
designlab::IDxlibGuiを実装しています。
abstract_dxlib_gui.h の 59 行目に定義があります。
|
inlineoverridevirtual |
ドラッグ中かどうかを設定する.
[in] | is_dragged | ドラッグ中にしたいなら true. |
designlab::IDxlibDraggableを実装しています。
abstract_dxlib_gui.h の 76 行目に定義があります。
void designlab::AbstractDxlibGui::SetPos | ( | int | pos_x, |
int | pos_y, | ||
unsigned int | option = kDxlibGuiAnchorLeftTop , |
||
bool | this_is_first_time = false |
||
) |
GUIの位置を設定する.
Dxlibの画面の座標は左上を原点とし,右下に行くほど値が大きくなる.
横方向にx軸,縦方向にy軸をとる.
[in] | pos_x | GUIのx座標. |
[in] | pos_y | GUIのy座標. |
[in] | option | GUIのどの地点を起点に座標を設定するかを指定する. defaultでは左上を起点とする. |
[in] | this_is_first_time | この呼び出しが初めてかどうかを指定する. defaultでは false.trueを指定すると,GUIの位置を設定するだけでなく, GUIの初期位置を更新する. |
abstract_dxlib_gui.cpp の 27 行目に定義があります。
|
overridevirtual |
GUIの表示を行うかどうかを設定する.
[in] | visible | GUIの表示を行うかどうか. |
designlab::IDxlibGuiを実装しています。
abstract_dxlib_gui.cpp の 77 行目に定義があります。
|
pure virtual |
GUIの更新,毎フレーム実行すること.
designlab::IDxlibGuiを実装しています。
designlab::DxlibGuiCamera, designlab::DxlibGuiCameraParameterDisplayer, designlab::DxlibGuiDisplayNodeSwitcher, designlab::DxlibGuiNodeDisplayer, designlab::DxlibGuiRobotControlで実装されています。
|
protected |
ボタンのリスト.
abstract_dxlib_gui.h の 87 行目に定義があります。
|
protected |
フォントハンドル.
abstract_dxlib_gui.h の 106 行目に定義があります。
|
protected |
GUIの左端の位置.
abstract_dxlib_gui.h の 100 行目に定義があります。
|
protected |
GUIの上端の位置.
abstract_dxlib_gui.h の 101 行目に定義があります。
|
protected |
GUIの縦幅.
abstract_dxlib_gui.h の 92 行目に定義があります。
|
protected |
SetされたGUIの左上のX座標.
abstract_dxlib_gui.h の 103 行目に定義があります。
|
protected |
SetされたGUIの左上のY座標.
abstract_dxlib_gui.h の 104 行目に定義があります。
|
protected |
abstract_dxlib_gui.h の 98 行目に定義があります。
|
staticconstexprprotected |
タイトルバーの高さ.
abstract_dxlib_gui.h の 89 行目に定義があります。
|
protected |
|
protected |
GUIの横幅.
abstract_dxlib_gui.h の 91 行目に定義があります。