NNS_G2dTextCanvasDrawString

構文


#include <nnsys/g2d/g2d_TextCanvas.h>

void NNS_G2dTextCanvasDrawString(
	const NNSG2dTextCanvas* pTxn,
	int x,
	int y,
	int cl,
	const NNSG2dChar* str,
	const NNSG2dChar** pPos
);

引数

pTxn [IN] TextCanvas へのポインタ
x [IN] 文字列描画基準点の座標 (CharCanvas座標系)
y [IN] 文字列描画基準点の座標 (CharCanvas座標系)
cl [IN] 文字列の描画に用いる基準カラーNo.
str [IN] 描画する文字列
pPos [OUT] 次の行の開始へのポインタを受け取るバッファへのポインタ(NULL指定可能)

返り値

なし。

説明

点 (x, y) が1文字目の左上隅となるように1行分の文字列を描画します。
具体的には str から '\n' (0x0A) もしくは '\0' までを描画します。

pPos が NULL 以外である場合、 文字列 str に '\n' が含まれると最初の '\n' の次の文字へのポインタが、 そうでない場合は NULL が pPos の指すバッファに格納されます。

縦書きフォントでは点 (x, y) が1文字目の右上隅となるように1行分の文字列を描画します。

サンプルコード

    // 半行ずつ重ねて描画する
    const int linefeed = NNS_G2dFontGetLineFeed(NNS_G2dTextCanvasGetFont(&tc)) / 2;
    const char* str = "abcdefg\nghijk\nlmn";
    int x = 0;
    int y = 0;

    while( str != NULL )
    {
        NNS_G2dTextCanvasDrawString(&tc, x, y, color, str, &str);
        y += linefeed;
    }

参照

履歴

2007/03/14 縦書き/縦持ちフォントに対応。
2005/05/25 初版