📄 m3gsprite3d.c
字号:
/*****************************************************************************
*
* Filename:
* ---------
* Sprite3D.c
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
*
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/*************************************************************************
* Include Header Files
*************************************************************************/
#include "m3g.h"
#ifdef SUPPORT_JSR_184
/*************************************************************************
* Function Definition
*************************************************************************/
KNIEXPORT KNI_RETURNTYPE_INT
Java_javax_microedition_m3g_Sprite3D_create()
{
jboolean scaled = KNI_GetParameterAsBoolean(1);
st_m3g_image2d* image = (st_m3g_image2d*)KNI_GetParameterAsInt(2);
st_m3g_appearance* appearance = (st_m3g_appearance*)KNI_GetParameterAsInt(3);
st_m3g_sprite3d* handle = NULL;
if(image == NULL) {
KNI_ThrowNew("java/lang/NullPointerException", "null image");
} else {
ENTER_M3D_CS;
handle = M3G_Sprite3D_new(scaled, image, appearance);
LEAVE_M3D_CS;
}
KNI_ReturnInt((jint)handle);
}
KNIEXPORT KNI_RETURNTYPE_INT
Java_javax_microedition_m3g_Sprite3D_getAppearanceImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnInt((jint)handle->appearance);
KNI_ReturnInt((jint)M3G_Sprite3D_getAppearance(handle));
}
KNIEXPORT KNI_RETURNTYPE_FLOAT
Java_javax_microedition_m3g_Sprite3D_getCropHeightImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnFloat((jfloat)handle->crop_height);
KNI_ReturnFloat((jfloat)M3G_Sprite3D_getCropHeight(handle));
}
KNIEXPORT KNI_RETURNTYPE_FLOAT
Java_javax_microedition_m3g_Sprite3D_getCropWidthImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnFloat((jfloat)handle->crop_width);
KNI_ReturnFloat((jfloat)M3G_Sprite3D_getCropWidth(handle));
}
KNIEXPORT KNI_RETURNTYPE_FLOAT
Java_javax_microedition_m3g_Sprite3D_getCropXImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnFloat((jfloat)handle->cropx);
KNI_ReturnFloat((jfloat)M3G_Sprite3D_getCropX(handle));
}
KNIEXPORT KNI_RETURNTYPE_FLOAT
Java_javax_microedition_m3g_Sprite3D_getCropYImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnFloat((jfloat)handle->cropy);
KNI_ReturnFloat((jfloat)M3G_Sprite3D_getCropY(handle));
}
KNIEXPORT KNI_RETURNTYPE_INT
Java_javax_microedition_m3g_Sprite3D_getImageImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnInt((jint)handle->image);
KNI_ReturnInt((jint)M3G_Sprite3D_getImage(handle));
}
KNIEXPORT KNI_RETURNTYPE_BOOLEAN
Java_javax_microedition_m3g_Sprite3D_isScaledImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
//KNI_ReturnBoolean(handle->flag_scaled);
KNI_ReturnBoolean(M3G_Sprite3D_isScaled(handle));
}
KNIEXPORT KNI_RETURNTYPE_VOID
Java_javax_microedition_m3g_Sprite3D_setAppearanceImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
st_m3g_appearance* appearance = (st_m3g_appearance*)KNI_GetParameterAsInt(2);
kal_trace(TRACE_GROUP_6, FUNC_J2ME_M3G_SPRITE_SETAPPEARNCE, handle, appearance);
if (M3G_Sprite3D_setAppearance(handle, appearance) != M3G_SUCCESS) {
KNI_ThrowNew("java/lang/IllegalArgumentException", "invalid appearance");
}
KNI_ReturnVoid();
}
KNIEXPORT KNI_RETURNTYPE_VOID
Java_javax_microedition_m3g_Sprite3D_setCropImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
jint cropx = KNI_GetParameterAsInt(2);
jint cropy = KNI_GetParameterAsInt(3);
jint cropw = KNI_GetParameterAsInt(4);
jint croph = KNI_GetParameterAsInt(5);
kal_trace(TRACE_GROUP_6, FUNC_J2ME_M3G_SPRITE_SETCROP, handle, cropx, cropy, cropw, croph);
if(cropw > m3g_graphics3d.max_crop_width || croph > m3g_graphics3d.max_crop_height ||
cropw < -m3g_graphics3d.max_crop_width || croph < -m3g_graphics3d.max_crop_height) {
KNI_ThrowNew("java/lang/IllegalArgumentException", "invalid crop");
} else if (M3G_Sprite3D_setCrop(handle, cropx, cropy, cropw, croph) != M3G_SUCCESS) {
KNI_ThrowNew("java/lang/IllegalArgumentException", "invalid crop");
}
KNI_ReturnVoid();
}
KNIEXPORT KNI_RETURNTYPE_VOID
Java_javax_microedition_m3g_Sprite3D_setImageImpl()
{
st_m3g_sprite3d* handle = (st_m3g_sprite3d*)KNI_GetParameterAsInt(1);
st_m3g_image2d* image = (st_m3g_image2d*)KNI_GetParameterAsInt(2);
kal_trace(TRACE_GROUP_6, FUNC_J2ME_M3G_SPRITE_SETIMAGE, handle, image);
if(image == NULL) {
KNI_ThrowNew("java/lang/NullPointerException", "null image");
} else {
ENTER_M3D_CS;
if (M3G_Sprite3D_setImage(handle, image) != M3G_SUCCESS) {
KNI_ThrowNew("java/lang/IllegalArgumentException", "invalid image");
}
LEAVE_M3D_CS;
}
KNI_ReturnVoid();
}
#endif /* #ifdef SUPPORT_JSR_184 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -