GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
dxlib_gui_terminal.h
[詳解]
1
3
4// Copyright(c) 2023-2025 Design Engineering Laboratory, Saitama University
5// Released under the MIT license
6// https://opensource.org/licenses/mit-license.php
7
8#ifndef DESIGNLAB_DXLIB_GUI_TERMINAL_H_
9#define DESIGNLAB_DXLIB_GUI_TERMINAL_H_
10
11#include <memory>
12#include <vector>
13
14#include "interface_dxlib_gui.h"
16#include "simple_button.h"
17
18
19namespace designlab
20{
21
24class DxlibGuiTerminal final : public IDxlibGui, public IDxlibClickable
25{
26public:
27 DxlibGuiTerminal() = delete;
28 explicit DxlibGuiTerminal(std::vector<std::shared_ptr<IDxlibGui> > gui_list);
29
30 void Update() override;
31 void Draw() const override;
32
33 void SetVisible(bool visible);
34 bool IsVisible() const;
35
36 void ClickedAction(const DxlibMouseState& state);
37
38 bool CursorOnGui(int cursor_x, int cursor_y) const noexcept;
39
40private:
41 static constexpr int kLeftTopX{ 0 };
42 static constexpr int kLeftTopY{ 10 };
43 static constexpr int kTerminalHeight{ 100 };
44 static constexpr int kClosedTerminalWidth{ 30 };
45
46 static constexpr int kButtonSize{ 70 };
47
48 void DrawClosedTerminal() const;
49 void DrawTerminal() const;
50 void DrawButtonGuard() const;
51
52 const int kTerminalWidth;
53
54 std::vector<std::shared_ptr<IDxlibGui> > gui_list_;
55 std::vector<std::shared_ptr<SimpleButton> > button_list_;
56
57 bool is_closed_{ true };
58};
59
60} // namespace designlab
61
62
63#endif // DESIGNLAB_DXLIB_GUI_TERMINAL_H_
×ボタンを押して消えたGUIを復活させるためのクラス.
bool CursorOnGui(int cursor_x, int cursor_y) const noexcept
GUIの上にカーソルがあるかどうかを返す.
void Draw() const override
GUIの描画.
void SetVisible(bool visible)
GUIの表示を行うかどうかを設定する.
void Update() override
GUIの更新,毎フレーム実行すること.
bool IsVisible() const
GUIの表示を行うかどうかを返す.
void ClickedAction(const DxlibMouseState &state)
GUIがクリックされたときに実行される関数. CursorOnGuiが true を返すときに呼び出される. 複数のGUIが重なっている場合は,優先度の高いものから順に呼び出される.
クリック可能なGUIのインターフェース.
Dxlibの画面に表示するGUIのインターフェース.
マウスの状態を表す構造体.