GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
interface_dxlib_clickable.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_INTERFACE_DXLIB_CLICKABLE_H_
9#define DESIGNLAB_INTERFACE_DXLIB_CLICKABLE_H_
10
11#include <memory>
12
13#include "mouse.h"
14
15
16namespace designlab
17{
18
23struct DxlibMouseState final
24{
26 int cursor_x{ 0 };
27
29 int cursor_y{ 0 };
30
33
36
39};
40
44{
45public:
46 virtual ~IDxlibClickable() = default;
47
52 virtual void ClickedAction(const DxlibMouseState& state) = 0;
53
58 [[nodiscard]]
59 virtual bool CursorOnGui(int cursor_x, int cursor_y) const noexcept = 0;
60};
61
62} // namespace designlab
63
64
65#endif // DESIGNLAB_INTERFACE_DXLIB_CLICKABLE_H_
クリック可能なGUIのインターフェース.
virtual bool CursorOnGui(int cursor_x, int cursor_y) const noexcept=0
GUIの上にカーソルがあるかどうかを返す.
virtual ~IDxlibClickable()=default
virtual void ClickedAction(const DxlibMouseState &state)=0
GUIがクリックされたときに実行される関数. CursorOnGuiが true を返すときに呼び出される. 複数のGUIが重なっている場合は,優先度の高いものから順に呼び出される.
マウスの状態を表す構造体.
int right_pushing_count
マウスの右ボタンが押されているフレーム数.
int cursor_y
マウスカーソルのY座標.上端を0とし,下に正の値をとる.
int left_pushing_count
マウスの左ボタンが押されているフレーム数.
int middle_pushing_count
マウスの中ボタンが押されているフレーム数.
int cursor_x
マウスカーソルのX座標.左端を0とし,右に正の値をとる.