//==================================================================== // Iris2D.h // 2Dアフィン変換ライブラリ // // Copyright (C) 2003 NINTENDO Co.,Ltd. //==================================================================== #ifndef _IRIS_2D_H #define _IRIS_2D_H #ifdef __cplusplus extern "C" { #endif #include #include //---------------------------------------------------------------------- // BGアフィン変換 セット // //・BGのアフィンパラメータを算出し、セットします。 // //・引数: // BgAffineSrcData *srcp ソースアドレス // BgAffineDestData *destp デスティネーションアドレス // s32 num 計算回数 // //・BgAffineSrcData構造体 // s32 srcCenterX 元データ中心座標(小数点以下8bit) // s32 srcCenterY // s16 dispCenterX 表示中心座標 // s16 dispCenterY // s16 ratioX 拡大縮小率(逆数/小数点以下8bit) // s16 ratioY // s16 theta 回転角(小数点以下8bit) // //・BgAffineDestData構造体 // s16 h_diffX ライン方向X座標差分 // s16 v_diffX 垂直方向X座標差分 // s16 h_diffY ライン方向Y座標差分 // s16 v_diffY 垂直方向Y座標差分 // s32 startX スタートX座標 // s32 startY スタートY座標 // //・戻り値:なし //---------------------------------------------------------------------- void BG_SetAffine(const BgAffineSrcData *srcp, BgAffineDestData *destp, s32 num); //---------------------------------------------------------------------- // OBJアフィン変換 セット // //・OBJのアフィンパラメータを算出し、セットします。 // //・引数: // ObjAffineSrcData *srcp ソースアドレス // void *destp デスティネーションアドレス // s32 num 計算回数 // s32 offset パラメータアドレスのオフセット・バイト数(通常 2|8) // OAMに直接セットする場合は"8"を指定 // //・ObjAffineSrcData構造体 // s16 ratioX 拡大縮小率(逆数/小数点以下8bit) // s16 ratioY // s16 theta 回転角(小数点以下8bit) // //・ObjAffineDestData構造体 // s16 h_diffX ライン方向X座標差分 // s16 v_diffX 垂直方向X座標差分 // s16 h_diffY ライン方向Y座標差分 // s16 v_diffY 垂直方向Y座標差分 // //・戻り値:なし //---------------------------------------------------------------------- void OBJ_SetAffine(const ObjAffineSrcData *srcp, void *destp, s32 num, s32 offset); #ifdef __cplusplus } #endif #endif // _IRIS_2D_H