MGL::Color32#

概要#

MGL::Color32は色の各要素を8ビット整数値で表現するための構造体です。

宣言#

namespace MGL
{
    struct Color32;
}

メンバ情報#

種類

名前

内容

バージョン

変数

公開メンバ変数

1.0.0+

関数

コンストラクタ

1.0.0+

関数

operator Color()

MGL::Colorに変換

1.0.0+

バージョン情報#

MGL 1.0.0
  • 初回リリース

MGL 1.1.2
  • リネーム: Color8bitColor32


公開メンバ変数#

宣言#

namespace MGL
{
    struct Color32
    {
        uint8_t red;      //!< 赤成分
        uint8_t green;    //!< 緑成分
        uint8_t blue;     //!< 青成分
        uint8_t alpha;    //!< アルファ値
    };
}

説明#

red

色の赤成分です。有効範囲は0から255の間になります。

green

色の緑成分です。有効範囲は0から255の間になります。

blue

色の青成分です。有効範囲は0から255の間になります。

alpha

半透明などに使用されるアルファ値です。有効範囲は0から255の間になります。用途は利用するアルゴリズムによって異なる場合があります。

バージョン情報#

MGL 1.0.0
  • 初回リリース


コンストラクタ#

宣言#

// (1) 各要素をゼロでクリア
constexpr Color32() noexcept

// (2) 値を指定して初期化
constexpr Color32(uint8_t inRed, uint8_t inGreen, uint8_t inBlue, uint8_t inAlpha = 255) noexcept

// (3) 値を32ビット RGBAで指定して初期化
constexpr Color32(uint32_t rgba) noexcept

// (4) XColorで初期化
constexpr Color32(XColor xcolor) noexcept

引数#

(1) 各要素をゼロでクリア

引数なし。

(2) 値を指定して初期化
float inRed

初期化する赤成分を指定します。

float inGreen

初期化する緑成分を指定します。

float inBlue

初期化する青成分を指定します。

float inAlpha

初期化するアルファ値を指定します。省略時は255が指定されます。

(3) 値を32ビットRGBAで指定して初期化
uint32_t rgba

32ビットで表現されるRGBA値を用いてメンバを初期化します。引数の値は上位ビットから順に赤、緑、青、アルファの成分が、それぞれ8ビットづつ格納されている必要があります。

(4) XColorで初期化
MGL::XColor xcolor

xterm-256カラーに準拠した値で表現される色を用いてメンバを初期化します。

説明#

各要素をゼロクリア、または各要素を指定して初期化するためのコンストラクタです。

利用例#

// (1) 各要素をゼロでクリア
MGL::Color32 color1;

// (2) 値を指定して初期化
MGL::Color32 color2(0, 255, 0);             // 緑色を指定

// (3) 値を32ビット RGBAで指定して初期化
MGL::Color32 color3(0x0000FFFF);            // 青色を指定

// (4) XColorで初期化
MGL::Color32 color4(MGL::XColor::Red);      // 赤色を指定

バージョン情報#

MGL 1.0.0
  • 初回リリース

MGL 1.1.2
  • (4)を追加

関連#


operator Color()#

MGL::Colorに変換

宣言#

constexpr operator Color() const noexcept

説明#

Color32をMGL::Colorに変換します。

利用例#

// 緑色の32ビットカラーを用意
MGL::Color32 color1(0, 255, 0);

// Color型に変換
MGL::Color color2 = color1;  // Color(0.0f, 1.0f, 0.0f)と同じ

バージョン情報#

MGL 1.0.0
  • 初回リリース

関連#