# NNS_G2dCharCanvasInitForOBJ1D

## 構文

      #include <nnsys/g2d/g2d_CharCanvas.h>

      void NNS_G2dCharCanvasInitForOBJ1D(
          NNSG2dCharCanvas* pCC,
          void* charBase,
          int areaWidth,
          int areaHeight,
          NNSG2dCharaColorMode colorMode
      );

## 引数

pCC | [OUT] CharCanvas へのポインタ
charBase | [IN] CharCanvas に割り当てるキャラクタの始点へのポインタ。4バイトアライメントされていなければなりません。
areaWidth | [IN] CharCanvas の水平方向キャラクタ数
areaHeight | [IN] CharCanvas の垂直方向キャラクタ数
colorMode | [IN] 対象 OBJ のカラーモード

## 返り値

なし。

## 説明

1次元マッピングOBJを用いて文字列表示を行うように NNSG2dCharCanvas 構造体を初期化します。
この関数で構築された CharCanvas は charBase から areaWidth * areaHeight 個の キャラクタを CharCanvas に割り当てられたものとして扱います。

colorMode には以下のいずれかの値を指定します。

NNS_G2D_CHARA_COLORMODE_16 | 16色カラーのキャラクタを使用します。
NNS_G2D_CHARA_COLORMODE_256 | 256色カラーのキャラクタを使用します。

カラーモード colorMode とOBJ VRAM容量によっては areaWidth と areaHeight に指定可能な値に以下の表のような制限があります。

カラーモード | OBJ VRAM容量
--- | ---
32K | 64K | 128K | 256K
16色 | (制限なし) | (制限なし) | 奇数と「4で割った余りが3の値」の組み合わせは不可 | 奇数不可
256色 | (制限なし) | (制限なし) | (制限なし) | 奇数と「4で割った余りが3の値」の組み合わせは不可

areaWidth と areaHeight の組み合わせが OBJ のサイズにない場合、CharCanvas は複数の OBJ を使って表示する事になります。 これらの OBJ を適切に配置するには `NNS_G2dArrangeOBJ1D()` を用います。 また、表示に必要な OBJ の数は `NNS_G2dCalcRequiredOBJ1D()` で求める事ができます。

## 参照

`NNS_G2dArrangeOBJ1D, NNS_G2dCalcRequiredOBJ1D`

## 履歴

2005/09/29 引数のIN/OUT表示を修正
2005/05/25 初版