# NNS_G2dArrangeOBJ*

## 構文

      #include <nnsys/g2d/g2d_CharCanvas.h>

      int NNS_G2dArrangeOBJ1D(
          GXOamAttr * oam,
          int areaWidth,
          int areaHeight,
          int x,
          int y,
          GXOamColorMode color,
          int charName,
          NNSG2dOBJVramMode vramMode
      );

      int NNS_G2dArrangeOBJ2DRect(
          GXOamAttr * oam,
          int areaWidth,
          int areaHeight,
          int x,
          int y,
          GXOamColorMode color,
          int charName
      );

## 引数

oam | [OUT] CharCanvas の表示に利用するOBJのOAM配列へのポインタ。
areaWidth | [IN] CharCanvas の幅 (キャラクタ単位)
areaHeight | [IN] CharCanvas の高さ (キャラクタ単位)
x | [IN] CharCanvas 左上隅の表示位置 (ピクセル単位)
y | [IN] CharCanvas 左上隅の表示位置 (ピクセル単位)
color | [IN] CharCanvas のカラーモード
charName | [IN] 先頭キャラクタネーム
vramMode | [IN] OBJ VRAM 容量

## 返り値

使用する OBJ の数を返します。

## 説明

`NNS_G2dCharCanvasInitForOBJ1D()` および `NNS_G2dCharCanvasInitForOBJ2DRect()` で初期化した CharCanvas を実際に画面に表示できるように OBJ を適切に配置します。 具体的にはOBJのパラメータのうち位置、サイズ、先頭キャラクタネーム、カラーモードを設定します。 その他のパラメータについては別途設定する必要があります。

OBJ VRAM容量 vramMode には以下のいずれかを指定します。

NNS_G2D_OBJVRAMMODE_32K | 使用可能 OBJ VRAM 最大容量 32KB
NNS_G2D_OBJVRAMMODE_64K | 使用可能 OBJ VRAM 最大容量 64KB
NNS_G2D_OBJVRAMMODE_128K | 使用可能 OBJ VRAM 最大容量 128KB
NNS_G2D_OBJVRAMMODE_256K | 使用可能 OBJ VRAM 最大容量 256KB

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

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

必要な OBJ の数を、この関数を呼び出す前に知るためには `NNS_G2dCalcRequiredOBJ1D()` もしくは `NNS_G2dCalcRequiredOBJ2DRect()` を利用します。

## 参照

`NNS_G2dCharCanvasInitForOBJ1D, NNS_G2dCharCanvasInitForOBJ2DRect, NNS_G2dCalcRequiredOBJ1D, NNS_G2dCalcRequiredOBJ2DRect`

## 履歴

2005/05/25 初版