# 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 初版