#include <nnsys/g2d/g2d_MultiCellAnimation.h>
u16 NNS_G2dMakeSimpleMultiCellToOams
(
GXOamAttr* pDstOams,
u16 numDstOams,
const NNSG2dMultiCellInstance* pMCellInst,
const MtxFx22* pMtxSR,
const NNSG2dFVec2* pBaseTrans,
u16 affineIndex,
BOOL bDoubleAffine
)
pDstOams |
[OUT] Pointer to the start of the buffer that stores the transformation result |
numDstOams |
[IN] Length of the buffer that stores the transformation result |
pMCellInst |
[IN] Multicell entity |
pMtxSR |
[IN] Affine transformation (optional) |
affineIdx |
[IN] Affine index (optional) |
pBaseTrans |
[IN] Translation value (optional) |
bDoubleAffine |
[IN] Whether or not to use the double-size affine mode |
The number of OBJs used.
Writes out the OBJ array that renders the multicell. A sufficient space must be allocated in the buffer.
Pass NULL
to pMtxSR
and pBaseTrans
when you do not want to perform affine transformation or translation. If performing an affine transformation, specify an affine index.
The NNS_G2dMakeCellToOams
function is executed internally using this function's own component cell animation as an argument.
Note: The affine transformation matrix that is taken in by this function must be a standard-format matrix. The matrix format used for affine parameters in the 2D Graphics Engine, where the matrix uses an inverse scale value, cannot be used.
Note: When applying an affine transformation matrix, any flip effect already applied to the OBJ will be lost.
This function can process only multicells consisting of cell animations to which the SR (scale and rotate) transformation has not been applied.
If rendering a multicell composed of SR-transformed cell animations, consider using a different method, such as the renderer module.
2004/09/01 Added a description of the restrictions on cell animations making up multicells.
2004/08/02 Added description of the restrictions when applying an affine transformation.
2004/05/28 Initial version.
CONFIDENTIAL