目次 - 3.関数 - 3.4レンダラー - TTF_RenderGlyph_Shaded

TTF_RenderGlyph_Shaded

SDL_Surface *TTF_RenderGlyph_Shaded(TTF_Font *font, Uint16 ch, SDL_Color fg, SDL_Color bg)

font
グリフをレンダリングするフォント
ch
レンダリングするUNICODE文字
fg
レンダリングするテキストの色. これがカラーマップの1番目になる
bg
テキストを囲む背景の色. これがカラーマップの0番目になる

UNICODE文字chを, fontと前景色fg, 背景色gbで, 新しく生成したサーフェイスに陰影(Shaded)モードでレンダリングする. 呼び出し側(あなたのことだ!)が戻されたサーフェイスを解放しなければならない.

メモ: この関数のfontにNULLを渡すと異常終了する.

戻り値: 生成されたSDL_Surface. グリフがフォントにないなど失敗のときNULL

サンプルコード

// 白の背景に黒でブレンドして表示できる全てのASCII文字をレンダリングし格納する
//SDL_Surface *screen;
SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
SDL_Surface *glyph_cache[128-20];
Uint16 ch;
for(ch=20; ch<128; ++ch)
    glyph_cache[ch-20]=TTF_RenderGlyph_Shaded(font,ch,color,bgcolor);
あらかじめグリフメトリック(minx, miny, advance)で変換して格納すると, 直接画面にレンダリングするより速い. しかし, カーニングは正確には行われない.

参照

TTF_RenderGlyph_Solid, TTF_RenderGlyph_Blended, TTF_RenderText_Shaded, TTF_RenderUTF8_Shaded, TTF_GlyphMetrics

原文へのリンク

3.4.8 TTF_RenderGlyph_Shaded