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

Dxlibを使ったGUIの抽象クラス. [詳解]

#include <abstract_dxlib_gui.h>

designlab::AbstractDxlibGui の継承関係図
Inheritance graph
[凡例]
designlab::AbstractDxlibGui 連携図
Collaboration graph
[凡例]

公開メンバ関数

 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
 ドラッグ中の処理を行う.
カーソルは上にあるけど,ドラッグ中ではない場合でも呼び出される.
 
- 基底クラス designlab::IDxlibGui に属する継承公開メンバ関数
virtual ~IDxlibGui ()=default
 
- 基底クラス designlab::IDxlibClickable に属する継承公開メンバ関数
virtual ~IDxlibClickable ()=default
 
- 基底クラス designlab::IDxlibDraggable に属する継承公開メンバ関数
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.h28 行目に定義があります。

構築子と解体子

◆ AbstractDxlibGui() [1/2]

designlab::AbstractDxlibGui::AbstractDxlibGui ( )
delete

◆ AbstractDxlibGui() [2/2]

designlab::AbstractDxlibGui::AbstractDxlibGui ( int  width,
int  height 
)

abstract_dxlib_gui.cpp20 行目に定義があります。

◆ ~AbstractDxlibGui()

virtual designlab::AbstractDxlibGui::~AbstractDxlibGui ( )
virtualdefault

関数詳解

◆ ClickedAction()

void designlab::AbstractDxlibGui::ClickedAction ( const DxlibMouseState state)
overridevirtual

GUIがクリックされたときに実行される関数.
CursorOnGuiが true を返すときに呼び出される. 複数のGUIが重なっている場合は,優先度の高いものから順に呼び出される.

引数
[in]stateマウスの状態.

designlab::IDxlibClickableを実装しています。

abstract_dxlib_gui.cpp92 行目に定義があります。

◆ CursorOnGui()

bool designlab::AbstractDxlibGui::CursorOnGui ( int  cursor_x,
int  cursor_y 
) const
overridevirtualnoexcept

GUIの上にカーソルがあるかどうかを返す.

引数
[in]cursor_xマウスカーソルのX座標.左端を0とし,右に正の値をとる.
[in]cursor_yマウスカーソルのY座標.上端を0とし,下に正の値をとる.
戻り値
GUIの上にカーソルがあるならば trueを返す.

designlab::IDxlibClickableを実装しています。

abstract_dxlib_gui.cpp104 行目に定義があります。

被呼び出し関係図:

◆ DraggedAction()

void designlab::AbstractDxlibGui::DraggedAction ( int  cursor_dif_x,
int  cursor_dif_y,
unsigned int  mouse_key_bit 
)
overridevirtual

ドラッグ中の処理を行う.
カーソルは上にあるけど,ドラッグ中ではない場合でも呼び出される.

引数
[in]cursor_dif_x前回のフレームからのマウスカーソルのX座標の差分.
[in]cursor_dif_y前回のフレームからのマウスカーソルのY座標の差分.
[in]mouse_key_bit押されているマウスのボタン,Dxlib の定数, MOUSE_INPUT_LEFT などで指定する.

designlab::IDxlibDraggableを実装しています。

abstract_dxlib_gui.cpp126 行目に定義があります。

呼び出し関係図:

◆ Draw()

virtual void designlab::AbstractDxlibGui::Draw ( ) const
pure virtual

◆ DrawBackground()

void designlab::AbstractDxlibGui::DrawBackground ( const std::string &  str) const
protected

abstract_dxlib_gui.cpp140 行目に定義があります。

被呼び出し関係図:

◆ IsDraggable()

bool designlab::AbstractDxlibGui::IsDraggable ( int  cursor_x,
int  cursor_y 
) const
overridevirtual

ドラッグ可能な位置にあるかを判定する.

引数
[in]cursor_xマウスカーソルのX座標.左端が0.右方向に正.
[in]cursor_yマウスカーソルのY座標.上端が0.下方向に正.
戻り値
GUI状にマウスカーネルがあって,ドラッグ可能であるならば true.

designlab::IDxlibDraggableを実装しています。

abstract_dxlib_gui.cpp116 行目に定義があります。

呼び出し関係図:

◆ IsDragged()

bool designlab::AbstractDxlibGui::IsDragged ( ) const
inlineoverridevirtual

ドラッグ中かどうかを取得する.

戻り値
ドラッグ中ならば true.

designlab::IDxlibDraggableを実装しています。

abstract_dxlib_gui.h71 行目に定義があります。

◆ IsVisible()

constexpr bool designlab::AbstractDxlibGui::IsVisible ( ) const
inlineconstexproverridevirtual

GUIの表示を行うかどうかを返す.

戻り値
GUIの表示を行うかどうか.

designlab::IDxlibGuiを実装しています。

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

被呼び出し関係図:

◆ SetDragged()

void designlab::AbstractDxlibGui::SetDragged ( const bool  is_dragged)
inlineoverridevirtual

ドラッグ中かどうかを設定する.

引数
[in]is_draggedドラッグ中にしたいなら true.

designlab::IDxlibDraggableを実装しています。

abstract_dxlib_gui.h76 行目に定義があります。

◆ SetPos()

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_xGUIのx座標.
[in]pos_yGUIのy座標.
[in]optionGUIのどの地点を起点に座標を設定するかを指定する. defaultでは左上を起点とする.
[in]this_is_first_timeこの呼び出しが初めてかどうかを指定する. defaultでは false.trueを指定すると,GUIの位置を設定するだけでなく, GUIの初期位置を更新する.

abstract_dxlib_gui.cpp27 行目に定義があります。

被呼び出し関係図:

◆ SetVisible()

void designlab::AbstractDxlibGui::SetVisible ( bool  visible)
overridevirtual

GUIの表示を行うかどうかを設定する.

引数
[in]visibleGUIの表示を行うかどうか.

designlab::IDxlibGuiを実装しています。

abstract_dxlib_gui.cpp77 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ Update()

virtual void designlab::AbstractDxlibGui::Update ( )
pure virtual

GUIの更新,毎フレーム実行すること.

designlab::IDxlibGuiを実装しています。

designlab::DxlibGuiCamera, designlab::DxlibGuiCameraParameterDisplayer, designlab::DxlibGuiDisplayNodeSwitcher, designlab::DxlibGuiNodeDisplayer, designlab::DxlibGuiRobotControlで実装されています。

被呼び出し関係図:

メンバ詳解

◆ button_

std::vector<std::unique_ptr<SimpleButton> > designlab::AbstractDxlibGui::button_
protected

ボタンのリスト.

abstract_dxlib_gui.h87 行目に定義があります。

◆ font_handle_

int designlab::AbstractDxlibGui::font_handle_ { -1 }
protected

フォントハンドル.

abstract_dxlib_gui.h106 行目に定義があります。

◆ gui_left_pos_x_

int designlab::AbstractDxlibGui::gui_left_pos_x_ { 0 }
protected

GUIの左端の位置.

abstract_dxlib_gui.h100 行目に定義があります。

◆ gui_top_pos_y_

int designlab::AbstractDxlibGui::gui_top_pos_y_ { 0 }
protected

GUIの上端の位置.

abstract_dxlib_gui.h101 行目に定義があります。

◆ height_

const int designlab::AbstractDxlibGui::height_
protected

GUIの縦幅.

abstract_dxlib_gui.h92 行目に定義があります。

◆ init_pos_x_

int designlab::AbstractDxlibGui::init_pos_x_ { 0 }
protected

SetされたGUIの左上のX座標.

abstract_dxlib_gui.h103 行目に定義があります。

◆ init_pos_y_

int designlab::AbstractDxlibGui::init_pos_y_ { 0 }
protected

SetされたGUIの左上のY座標.

abstract_dxlib_gui.h104 行目に定義があります。

◆ is_dragging_

bool designlab::AbstractDxlibGui::is_dragging_ { false }
protected

abstract_dxlib_gui.h98 行目に定義があります。

◆ kTitleBarHeight

constexpr int designlab::AbstractDxlibGui::kTitleBarHeight { 32 }
staticconstexprprotected

タイトルバーの高さ.

abstract_dxlib_gui.h89 行目に定義があります。

◆ visible_

bool designlab::AbstractDxlibGui::visible_ { true }
protected

GUIが表示されているかどうかのフラグ.

ドラッグ中かどうかのフラグ.

abstract_dxlib_gui.h95 行目に定義があります。

◆ width_

const int designlab::AbstractDxlibGui::width_
protected

GUIの横幅.

abstract_dxlib_gui.h91 行目に定義があります。


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