ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

SFXBevelColor クラスを使ってべベル矩形を描画する

SFXBevelColor クラスは、ベベル矩形のライト・ベース・ダークの各部分の色をまとめて管理するためのクラスです。( 「ベベル矩形」とは立体的に見える長方形のことです。 )

このクラスは SFXGraphics クラスでベベル矩形を描画する場合に利用します。ベベル矩形の各部分の色について演算したり、全体について色演算できます。

※ 数値がオーバーフローする場合や、アンダーフローする場合は適切に処理されます。

SFXBevelColor クラスの使用方法
Void SFXColorExplainer::_SFXBevelColor(Void) const
{
    // 青色のベース色定数を準備する

    static SFXRGBColor::AtomRecConst color = {
        0x00, 0x88, 0x88, 0xFF
    };
    SFXRGBColor temp;
    SFXBevelColor bevel;
    SFXGraphicsPtr graphics;

    // べベル色のライト部分・ベース部分・ダーク部分を青色に設定する

    bevel.Set(color, color, color);

    // ライト部分の各要素に 0x66 を加算する

    bevel.AddLightRGB(0x66);

    // ダーク部分の各要素から 0x44 を減算する

    bevel.SubDarkRGB(0x44);

    // グラフィック オブジェクトを取得する

    graphics = SFXGraphics::GetInstance();
    if (graphics != null) {

        // べベル矩形を描画する

        graphics->FillBevelRectangle(SFXRectangle(20, 20, 40, 40), bevel);

        // べベル色のライト部分とダーク部分を入れ替える

        temp = bevel.GetLight();
        bevel.SetLight(bevel.GetDark());
        bevel.SetDark(temp);

        // べベル矩形を描画する

        graphics->FillBevelRectangle(SFXRectangle(24, 24, 32, 32), bevel);

        // 画面をアップデートする

        graphics->Update();
    }
    return;
}