# NNS_G2dGetNewOamManagerInstance

## 構文

      #include <nnsys/g2d/g2d_Oam.h>

      BOOL NNS_G2dGetNewOamManagerInstance
      (
          NNSG2dOamManagerInstance*   pMan,
          u16                         fromOBJ,
          u16                         numOBJ,
          u16                         fromAffine,
          u16                         numAffine,
          NNSG2dOamType               type
      );

## 引数

pMan | [OUT] OAMマネージャ 実体
`fromOBJ` | [IN] OAM管理領域開始インデックス
`numOBJ` | [IN] 使用するOAMアトリビュート個数(非ゼロであること)
`fromAffine` | [IN] アフィンパラメータ管理領域開始インデックス
`numAffine` | [IN] 使用するアフィンパラメータ個数(ゼロも有効)
`type` | [IN] OAM種類

## 返り値

成否

## 説明

OAMマネージャの実体を初期化します。
OAMマネージャの実体を使用する前にかならず実行する必要があります。
高速なバッファ転送が可能なOAMマネージャの実体を初期化するNNS_G2dGetNewOamManagerInstanceAsFastTransferMode()も用意されています。
管理するOAMの種類種類をあらわす列挙子NNSG2dOamTypeに定義は以下のようになっています。
``

    typedef enum NNSG2dOamType
    {
        NNS_G2D_OAMTYPE_MAIN = 0,               // メイン2DグラフィックスエンジンのOAM
        NNS_G2D_OAMTYPE_SUB,                    // サブ2DグラフィックスエンジンのOAM
        NNS_G2D_OAMTYPE_SOFTWAREEMULATION,      // 3D Graphics Engine を 使用した エミュレーション
        NNS_G2D_OAMTYPE_INVALID,                // 不正な種類
        NNS_G2D_OAMTYPE_MAX

    }NNSG2dOamType;

NNS_G2D_OAMTYPE_SOFTWAREEMULATIONが指定された場合は、3Dグラフィックスエンジンを使用してソフトウェアスプライトで描画処理が行われます。
以前に、NNS_G2dGetNewManagerInstance()、NNS_G2dInitManagerInstanceAffine()の2つの関数呼び出しによって行っていた処理をひとつにした関数です。
NNS_G2dGetNewManagerInstance()、NNS_G2dInitManagerInstanceAffine()は互換性維持のために残されますが、新規に利用される場合は本関数をお使いください。

## 参照

`NNS_G2dGetNewOamManagerInstanceAsFastTransferMode
`

`NNS_G2dGetNewManagerInstance
`

`NNS_G2dInitManagerInstanceAffine
`

## 履歴

2004/08/02 初版