MGL::Inputマウス関連定義#

概要#

MGL::Inputで定義されている、マウス入力に関わる定義です。

#

種類

名前

内容

列挙型

MouseButton

マウスボタンのを表す列挙型

MouseButtonFlags

マウスボタンのビットフラグ型

列挙型

CursorMode

マウスのカーソルモードを表す列挙型

列挙型

CursorVisibleMode

マウスカーソルの表示モードを表す列挙型


MouseButton#

マウスボタンのを表す列挙型

宣言#

namespace MGL::Input
{
    enum class MouseButton : uint8_t
    {
        // 省略(一覧参照)
    };
}

一覧#

名前

内容

None

0

入力なし

Left

1

左クリック

Right

2

右クリック

Middle

3

中央ボタン

Other1

4

その他1(ボタン3)

Other2

5

その他2(ボタン4)

Other3

6

その他3(ボタン5)

Other4

7

その他4(ボタン6)

Other5

8

その他5(ボタン7)

Other6

9

その他6(ボタン8)

Other7

10

その他7(ボタン9)

Other8

11

その他8(ボタン10)

説明#

マウスのボタンの種類を表す列挙型です。主にボタンの入力判定に使用します。

マウスボタンは次のように、|(or)演算子によってMouseButtonFlagsへの変換が可能です。

// 左クリックと右クリックの両方を表すビットフラグに変換
auto bitFlags = MGL::Input::MouseButton::Left | MGL::Input::MouseButton::Right;

// さらに中央ボタンも追加
bitFlags |= MGL::Input::MouseButton::Middle;

ビットフラグに対する操作についてはMGL::EnumBitFlagsのAPIリファレンスを参照してください。

Noneはボタン入力に対する無効を表すための予約です。この値を用いて入力状態を取得した場合、常に入力なしとして扱われます。

関連#


MouseButtonFlags#

マウスボタンのビットフラグ型

宣言#

namespace MGL::Input
{
    using MouseButtonFlags = EnumBitFlags<MouseButton>;
}

説明#

マウスボタンのビットフラグを表す型です。複数のボタンを1つの値で扱う際に利用します。

このビットフラグに対する操作についてはMGL::EnumBitFlagsのAPIリファレンスを参照してください。

MouseButton|(or)演算子を使用した結果はこの型に変換されます。

関連#


CursorMode#

マウスのカーソルモードを表す列挙型

宣言#

namespace MGL::Input
{
    enum class CursorMode
    {
        None,       //!< なし
        Pointer,    //!< ポインタ使用
        DeltaMove,  //!< 移動量のみ
    };
}

説明#

マウスのカーソルモードを表す列挙型です。値の内容は次の通りです。

None

カーソルモードが無効であることを表す値です。アプリケーション側からはこのモードを指定すべきではなく、デリゲートによってはこのモードを受け付けません。

Pointer

マウスの移動に応じてマウスカーソルが移動する、通常のモードです。

DeltaMove

マウスカーソルを固定したまま表示せず、移動量のみを取得するモードです。このモードが推奨される代表的な例は、FPS・TPSにおけるカメラ視点の移動などです。

関連#


CursorVisibleMode#

マウスカーソルの表示モードを表す列挙型

宣言#

namespace MGL::Input
{
    enum class CursorVisibleMode
    {
        Visible,        //!< 表示
        Invisible,      //!< 非表示
        AutoInvisible,  //!< 自動で非表示
    };
}

説明#

マウスカーソルの表示モードを表す列挙型です。値の内容は次の通りです。

Visible

マウスカーソルを表示します。

Invisible

マウスカーソルがウィンドウ内にある場合に非表示にします。

AutoInvisible

マウスカーソルがウィンドウ内にある場合に、一定時間移動がなければ自動で非表示にします。マウスの移動を検知した場合は再び一定時間表示されます。

関連#