]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/Android/CIrrDeviceAndroid.h
Drop IrrCompileConfig (#163)
[irrlicht.git] / source / Irrlicht / Android / CIrrDeviceAndroid.h
1 // Copyright (C) 2002-2011 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __C_IRR_DEVICE_ANDROID_H_INCLUDED__\r
6 #define __C_IRR_DEVICE_ANDROID_H_INCLUDED__\r
7 \r
8 \r
9 #ifdef _IRR_COMPILE_WITH_ANDROID_DEVICE_\r
10 \r
11 #include "CIrrDeviceStub.h"\r
12 #include "IrrlichtDevice.h"\r
13 #include "ICursorControl.h"\r
14 \r
15 #include <android/sensor.h>\r
16 #include <android_native_app_glue.h>\r
17 \r
18 namespace irr\r
19 {\r
20         class CIrrDeviceAndroid : public CIrrDeviceStub\r
21         {\r
22         public:\r
23                 CIrrDeviceAndroid(const SIrrlichtCreationParameters& param);\r
24 \r
25                 virtual ~CIrrDeviceAndroid();\r
26 \r
27                 virtual bool run();\r
28 \r
29                 virtual void yield();\r
30 \r
31                 virtual void sleep(u32 timeMs, bool pauseTimer = false);\r
32 \r
33                 virtual void setWindowCaption(const wchar_t* text);\r
34 \r
35                 virtual bool isWindowActive() const;\r
36 \r
37                 virtual bool isWindowFocused() const;\r
38 \r
39                 virtual bool isWindowMinimized() const;\r
40 \r
41                 virtual void closeDevice();\r
42 \r
43                 virtual void setResizable(bool resize = false);\r
44 \r
45                 virtual void minimizeWindow();\r
46 \r
47                 virtual void maximizeWindow();\r
48 \r
49                 virtual void restoreWindow();\r
50 \r
51                 virtual core::position2di getWindowPosition();\r
52 \r
53                 virtual E_DEVICE_TYPE getType() const;\r
54 \r
55                 virtual bool activateAccelerometer(float updateInterval);\r
56 \r
57                 virtual bool deactivateAccelerometer();\r
58 \r
59                 virtual bool isAccelerometerActive();\r
60 \r
61                 virtual bool isAccelerometerAvailable();\r
62 \r
63                 virtual bool activateGyroscope(float updateInterval);\r
64 \r
65                 virtual bool deactivateGyroscope();\r
66 \r
67                 virtual bool isGyroscopeActive();\r
68 \r
69                 virtual bool isGyroscopeAvailable();\r
70 \r
71         private:\r
72 \r
73                 static void handleAndroidCommand(android_app* app, int32_t cmd);\r
74 \r
75                 static s32 handleInput(android_app* app, AInputEvent* event);\r
76 \r
77                 void createDriver();\r
78 \r
79                 void createKeyMap();\r
80 \r
81                 video::SExposedVideoData& getExposedVideoData();\r
82 \r
83                 android_app* Android;\r
84                 ASensorManager* SensorManager;\r
85                 ASensorEventQueue* SensorEventQueue;\r
86                 const ASensor* Accelerometer;\r
87                 const ASensor* Gyroscope;\r
88 \r
89                 bool Focused;\r
90                 bool Initialized;\r
91                 bool Paused;\r
92 \r
93                 JNIEnv* JNIEnvAttachedToVM;\r
94 \r
95                 video::SExposedVideoData ExposedVideoData;\r
96 \r
97                 core::array<EKEY_CODE> KeyMap;\r
98         };\r
99 \r
100 } // end namespace irr\r
101 \r
102 #endif // _IRR_COMPILE_WITH_ANDROID_DEVICE_\r
103 #endif // __C_IRR_DEVICE_ANDROID_H_INCLUDED__\r