typedef struct NNSG2dOamExEntryFunctions
{
NNSG2dGetOamCpacityFuncPtr getOamCapacity;
NNSG2dGetOamCpacityFuncPtr getAffineCapacity;
NNSG2dEntryNewOamFuncPtr entryNewOam;
NNSG2dEntryNewOamAffineFuncPtr entryNewAffine;
}NNSG2dOamExEntryFunctions;
typedef u16 (*NNSG2dGetOamCpacityFuncPtr)();
typedef u16 (*NNSG2dGetOamAffineCpacityFuncPtr)();
typedef BOOL (*NNSG2dEntryNewOamFuncPtr)( const GXOamAttr* pOam, u16 index );
typedef u16 (*NNSG2dEntryNewOamAffineFuncPtr)( const MtxFx22* mtx, u16 index );
numPooledOam), which is given as a parameter when the Extended OAM Manager is initialized.getOamCapacity(), the Extended OAM Manager displays the registered OBJs over multiple frames using time-sharing.NULL.getAffineCapacity(), the Extended OAM Manager loads the registered affine parameters over multiple frames using time-sharing, and displays the OBJs that are using affine parameters.
index is equal to the number of times that entryNewOam has been called.entryNewOam, the index parameter is not used.
static u16 OamMgrExCBEntryOamAffine_( const MtxFx22* pMtx, u16 index )
{
#pragma unused( index )
return NNS_G2dEntryOamManagerAffine( &myOamMgr_, pMtx );
}
static BOOL CallBackEntryNewOam(const GXOamAttr* pOam, u16 index)
{
const u32 szByte = sizeof( GXOamAttr );
DC_FlushRange( (void*)pOam, szByte );
GX_LoadOAM( pOam, index * szByte, szByte );
return TRUE;
}
NULL.entryNewOam, the affine parameter number index is equal to the number of times that entryNewAffine has been called.
static u16 OamMgrExCBEntryOamAffine_( const MtxFx22* pMtx, u16 index )
{
#pragma unused( index )
return NNS_G2dEntryOamManagerAffine( &myOamMgr_, pMtx );
}
NNS_G2dSetOamManExEntryFunctions, NNS_G2dGetOamManExInstance
2005/06/06 Initial version.
CONFIDENTIAL