Android code stuff
This commit is contained in:
parent
1c9300c1ba
commit
9c85ebd1f8
@ -305,6 +305,7 @@ LOCAL_SRC_FILES := src/Utils/DataTypes/DataTypes.cpp
|
|||||||
LOCAL_SRC_FILES += src/Utils/DataTypes/NewDataTypes.cpp
|
LOCAL_SRC_FILES += src/Utils/DataTypes/NewDataTypes.cpp
|
||||||
LOCAL_SRC_FILES += src/Utils/FileUtils/FileUtils.cpp
|
LOCAL_SRC_FILES += src/Utils/FileUtils/FileUtils.cpp
|
||||||
LOCAL_SRC_FILES += src/Utils/JniApi/JniApi.cpp
|
LOCAL_SRC_FILES += src/Utils/JniApi/JniApi.cpp
|
||||||
|
LOCAL_SRC_FILES += src/Utils/JniApi/JniApplication.cpp
|
||||||
LOCAL_SRC_FILES += src/Utils/Console/Console.cpp
|
LOCAL_SRC_FILES += src/Utils/Console/Console.cpp
|
||||||
LOCAL_SRC_FILES += src/Utils/SerializeInterface/SerializeInterface.cpp
|
LOCAL_SRC_FILES += src/Utils/SerializeInterface/SerializeInterface.cpp
|
||||||
LOCAL_SRC_FILES += src/Utils/PngHelper.cpp
|
LOCAL_SRC_FILES += src/Utils/PngHelper.cpp
|
||||||
|
@ -27,4 +27,6 @@ void DestroyEngine();
|
|||||||
#include "include/GUIManager/WidgetTemplatesImpl.h"
|
#include "include/GUIManager/WidgetTemplatesImpl.h"
|
||||||
#include "include/Utils/ThreadUtilsImpl.h"
|
#include "include/Utils/ThreadUtilsImpl.h"
|
||||||
|
|
||||||
|
#include "include/Utils/JniApi/JniApplication.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
76
include/Utils/JniApi/JniApplication.h
Normal file
76
include/Utils/JniApi/JniApplication.h
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#ifndef JNI_APPLICATION_H_INCLUDED
|
||||||
|
#define JNI_APPLICATION_H_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
|
#include <jni.h>
|
||||||
|
#include <android/log.h>
|
||||||
|
|
||||||
|
#include <GLES/gl.h>
|
||||||
|
#include <GLES2/gl2.h>
|
||||||
|
#include <GLES2/gl2ext.h>
|
||||||
|
|
||||||
|
#include "boost/thread.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
namespace SE
|
||||||
|
{
|
||||||
|
|
||||||
|
extern TApplication* App;
|
||||||
|
|
||||||
|
extern boost::mutex InitLock;
|
||||||
|
|
||||||
|
extern bool Inited;
|
||||||
|
|
||||||
|
|
||||||
|
template<typename APPTYPE>
|
||||||
|
void JniInitApp(int width, int height, float matrixWidth, float matrixHeight)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterDeinit();
|
||||||
|
delete App;
|
||||||
|
App = NULL;
|
||||||
|
Inited = false;
|
||||||
|
|
||||||
|
DestroyEngine();
|
||||||
|
}
|
||||||
|
|
||||||
|
CreateEngine();
|
||||||
|
|
||||||
|
App = new APPTYPE;
|
||||||
|
|
||||||
|
App->OuterInit(width, height, matrixWidth, matrixHeight);
|
||||||
|
|
||||||
|
Inited = true;
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
//JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEnv * env, jobject obj, jint width, jint height);
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Update(JNIEnv * env, jobject obj, long dt);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Destroy(JNIEnv * env, jobject obj);
|
||||||
|
JNIEXPORT int JNICALL Java_fishrungames_engine_FileWrapper_IsInited(JNIEnv * env, jobject obj);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapDown(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUp(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUpAfterMove(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time);
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace SE
|
||||||
|
|
||||||
|
#endif
|
188
src/Utils/JniApi/JniApplication.cpp
Normal file
188
src/Utils/JniApi/JniApplication.cpp
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
|
||||||
|
#include "include/Engine.h"
|
||||||
|
|
||||||
|
namespace SE
|
||||||
|
{
|
||||||
|
|
||||||
|
TApplication* App = NULL;
|
||||||
|
|
||||||
|
boost::mutex InitLock;
|
||||||
|
|
||||||
|
bool Inited = false;
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Update(JNIEnv * env, jobject obj, long dt)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterDraw();
|
||||||
|
App->OuterUpdate(dt);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT int JNICALL Java_fishrungames_engine_FileWrapper_IsInited(JNIEnv * env, jobject obj)
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Destroy(JNIEnv * env, jobject obj)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterDeinit();
|
||||||
|
|
||||||
|
delete App;
|
||||||
|
|
||||||
|
App = NULL;
|
||||||
|
|
||||||
|
DestroyEngine();
|
||||||
|
|
||||||
|
Inited = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DestroyThreaded()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapDown(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterOnTapDown(vec2(x,y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUp(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterOnTapUp(vec2(x,y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUpAfterMove(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterOnTapUpAfterMove(vec2(x,y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterOnMove(vec2(x,y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OuterOnMove(vec2(distanceX,distanceY));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode)
|
||||||
|
{
|
||||||
|
InitLock.lock();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (Inited)
|
||||||
|
{
|
||||||
|
App->OnKeyPress(keyCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
InitLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace SE
|
Loading…
Reference in New Issue
Block a user