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

TTF_RenderUNICODE_Solid

SDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg)

font
テキストをレンダリングするフォント
text
レンダリングするNUL終端のUNICODE文字列
fg
レンダリングするテキストの色. これがカラーマップの1番目になる

UNICODEでエンコードされたtextを, fontと色fgで新しく生成したサーフェイスにベタ(Solid)モードでレンダリングする. 呼び出し側(あなたのことだ!)が戻されたサーフェイスを解放しなければならない.

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

メモ: この関数のtextにNULLを渡した場合の動作は未定義である.

戻り値: 生成されたSDL_Surface. 失敗のときNULL

サンプルコード

// ベタ塗りの黒でUNICODEテキストを新しいサーフェイスにレンダリングする
// そしてそれを画面の左上にコピーする
// そしてテキストのサーフェイスを解放する
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
Uint16 text[]={'H','e','l','l','o',' ',
               'W','o','r','l','d','!'};
if(!(text_surface=TTF_RenderUNICODE_Solid(font,text,color))) {
    // ここでエラーを処理する. 少なくともTTF_GetErrorを表示したほうがよい
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    // これは再利用できる. しかしここでは単純化のためにそうしない
    SDL_FreeSurface(text_surface);
}

参照

TTF_SizeUNICODE, TTF_RenderText_Solid, TTF_RenderUTF8_Solid, TTF_RenderGlyph_Solid, TTF_RenderUNICODE_Shaded, TTF_RenderUNICODE_Blended

原文へのリンク

3.4.3 TTF_RenderUNICODE_Solid