CTRPFの関数まとめ OSD.hpp(Screenクラス)編

CTRPF関数まとめ第3回です。
今回はOSD.hpp編です。

目次

OSD.hppには何がある?

OSD.hppには、Screenクラスと、OSDクラスがあります。今回紹介するのはScreenクラスです。
Screenクラスには、画面に描画したりするための関数があります。

使い方

Screen::GetFramebuffer

指定した画面の座標のフレームバッファポインタを取得します。
引数:(X座標, Y座標, 右目のフレームバッファ(通常はfalse))
戻り値: フレームバッファのポインタ(u8 *)

void screenTest(const Screen &screen) {
    // 座標(0, 0)の左目のフレームバッファを取得
    u8 *leftFb = screen.GetFramebuffer(0, 0);

    // 座標(0, 0)の右目のフレームバッファを取得(上画面のみ)
    u8 *rightFb = screen.GetFramebuffer(0, 0, true);
}
Screen::DrawPixel

画面に1px × 1pxの点を描画します。 複数組み合わせることで画像を描画できます。
引数:(X座標, Y座標, 色)
戻り値: なし

void screenTest(const Screen &screen) {
    // 座標(0, 0)に点を描画
    screen.DrawPixel(0, 0, Color::White);
}
Screen::DrawRect

画面に長方形を描画します。
引数:(X座標, Y座標, 横の長さ, 縦の長さ, 色)
戻り値: なし

void screenTest(const Screen &screen) {
    // 画像に100×200の長方形を描画
    screen.DrawRect(0, 0, 100, 200, Color::White);
}
Screen::Draw

画面に文字を描画します。ASCII文字(半角英数字,記号等)のみ対応です。
引数:(文字, X座標, Y座標, 文字の色, 背景の色)
戻り値: Y座標に+10した値(u32)

void screenTest(const Screen &screen) {

    screen.Draw("Hello", 0, 0, Color::White, Color::Black);

    // 色を指定しなくてもOK(通常は文字が白、背景が黒)
    screen.Draw("Hello", 0, 10);
}
Screen::DrawSysfont

画面に文字を描画します。日本語や全角文字も描画できます。
引数:(文字, X座標, Y座標, 文字の色)
戻り値: Y座標に+16した値(u32)

void screenTest(const Screen &screen) {

    screen.DrawSysfont("日本語表示", 0, 0, Color::Blue);

    // 色を指定しなくてもOK(通常は白色)
    screen.DrawSysfont("てきとー256", 0, 20);
}
Screen::ReadPixel

指定した画面の座標に描画されている色を取得します。
引数:(X座標, Y座標, 色(参照渡し), 右目のフレームバッファ(通常はfalse))
戻り値: なし

void screenTest(const Screen &screen) {
    Color color;

    // color変数に座標(0, 0)の色を格納する
    screen.ReadPixel(0, 0, color);

    // 右目のフレームバッファ
    screen.ReadPixel(0, 0, color, true);
}
Screen::Fade (CTRPF v0.7.1より追加)

画面の色を薄くします。
引数:(強度(0〜1))
戻り値: なし

void screenTest(const Screen &screen) {
    // 強度はfloatで指定可能
    screen.Fade(0.5);
}

思ったよりこのシリーズ続いてて驚いてる。
読んでくださりありがとうございました。