MGL::Alignment#

概要#

Alignment構造体は座標や矩形などの配置パラメータを保持するための構造体です。

配置パラメータは垂直方向と水平方向の組み合わせで表現され、主に描画の基準位置の指定に使用します。

宣言#

namespace MGL
{
    struct Alignment;
}

メンバ情報#

種類

名前

内容

列挙型

Horizontal

水平方向の配置パラメータを表す列挙型

列挙型

Vertical

垂直方向の配置パラメータを表す列挙型

変数

公開メンバ変数

関数

コンストラクタ

その他#


Horizontal#

水平方向の配置パラメータを表す列挙型です。

宣言#

namespace MGL
{
    struct Alignment
    {
        enum class Horizontal
        {
            Left,       //!< 左
            Center,     //!< 中央
            Right       //!< 右
        };
    }
}

説明#

Horizontal::Left

水平方向の右を表す値

Horizontal::Center

水平方向の中央を表す値

Horizontal::Right

水平方向の右を表す値


Vertical#

垂直方向の配置パラメータを表す列挙型です。

宣言#

namespace MGL
{
    struct Alignment
    {
        enum class Vertical
        {
            Top,        //!< 上
            Middle,     //!< 中央
            Bottom      //!< 下
        };
    }
}

説明#

Vertical::Top

垂直方向の上を表す値

Vertical::Middle

垂直方向の中央を表す値

Vertical::Bottom

垂直方向の下を表す値


公開メンバ変数#

宣言#

namespace MGL
{
    struct Alignment
    {
        Horizontal horizontal;  //!< 水平方向の配置情報
        Vertical vertical;      //!< 垂直方向の配置情報
    };
}

説明#

MGL::Alignment::Horizontal horizontal

水平方向の配置情報

MGL::Alignment::Vertical vertical

垂直方向の配置情報


コンストラクタ#

宣言#

// (1) 初期値で初期化
constexpr Alignment() noexcept

// (2) 水平方向と垂直方向で初期化
constexpr Alignment(Horizontal inHorizontal, Vertical inVertical) noexcept

// (3) 垂直方向と水平方向で初期化
constexpr Alignment(Vertical inVertical, Horizontal inHorizontal) noexcept

引数#

(1) 初期値で初期化

引数なし

(2) 水平方向と垂直方向で初期化
MGL::Alignment::Horizontal inHorizontal

水平方向の配置情報

MGL::Alignment::Vertical inVertical

垂直方向の配置情報

(3) 垂直方向と水平方向で初期化
MGL::Alignment::Vertical inVertical

垂直方向の配置情報

MGL::Alignment::Horizontal inHorizontal

水平方向の配置情報

説明#

Alignment構造体を初期化するコンストラクタです。

(1)はスクリーン座標系の原点の位置である左上で初期化されます。

(2)と(3)は引数で指定された垂直方向と水平方向で初期化します。両者の違いは引数の順序のみです。

利用例#

// (1) 初期値で初期化
MGL::Alignment alignment1();        // 左上

// (2) 水平方向と垂直方向で初期化
MGL::Alignment alignment2(
    MGL::Alignment::Horizontal::Right,
    MGL::Alignment::Vertical::Middle); // 右中央

// (3) 垂直方向と水平方向で初期化
MGL::Alignment alignment3(
    MGL::Alignment::Vertical::Top,
    MGL::Alignment::Horizontal::Center); // 中央上

定義済みの定数一覧#

一覧#

定数名

内容

Alignment

kAlignmentTopLeft

左上

Alignment(Alignment::Vertical::Top, Alignment::Horizontal::Left)

Alignment

kAlignmentTopCenter

中央上

Alignment(Alignment::Vertical::Top, Alignment::Horizontal::Center)

Alignment

kAlignmentTopRight

右上

Alignment(Alignment::Vertical::Top, Alignment::Horizontal::Right)

Alignment

kAlignmentMiddleLeft

左中央

Alignment(Alignment::Vertical::Middle, Alignment::Horizontal::Left)

Alignment

kAlignmentMiddleCenter

中央

Alignment(Alignment::Vertical::Middle, Alignment::Horizontal::Center)

Alignment

kAlignmentMiddleRight

右中央

Alignment(Alignment::Vertical::Middle, Alignment::Horizontal::Right)

Alignment

kAlignmentBottomLeft

左下

Alignment(Alignment::Vertical::Bottom, Alignment::Horizontal::Left)

Alignment

kAlignmentBottomCenter

中央下

Alignment(Alignment::Vertical::Bottom, Alignment::Horizontal::Center)

Alignment

kAlignmentBottomRight

右下

Alignment(Alignment::Vertical::Bottom, Alignment::Horizontal::Right)

宣言#

namespace MGL
{
    constexpr auto kAlignmentTopLeft         = Alignment(Alignment::Vertical::Top,     Alignment::Horizontal::Left);      //!< 左上
    constexpr auto kAlignmentTopCenter       = Alignment(Alignment::Vertical::Top,     Alignment::Horizontal::Center);    //!< 中央上
    constexpr auto kAlignmentTopRight        = Alignment(Alignment::Vertical::Top,     Alignment::Horizontal::Right);     //!< 右上
    constexpr auto kAlignmentMiddleLeft      = Alignment(Alignment::Vertical::Middle,  Alignment::Horizontal::Left);      //!< 左中央
    constexpr auto kAlignmentMiddleCenter    = Alignment(Alignment::Vertical::Middle,  Alignment::Horizontal::Center);    //!< 中央
    constexpr auto kAlignmentMiddleRight     = Alignment(Alignment::Vertical::Middle,  Alignment::Horizontal::Right);     //!< 右中央
    constexpr auto kAlignmentBottomLeft      = Alignment(Alignment::Vertical::Bottom,  Alignment::Horizontal::Left);      //!< 左下
    constexpr auto kAlignmentBottomCenter    = Alignment(Alignment::Vertical::Bottom,  Alignment::Horizontal::Center);    //!< 中央下
    constexpr auto kAlignmentBottomRight     = Alignment(Alignment::Vertical::Bottom,  Alignment::Horizontal::Right);     //!< 右下
}