SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_android.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
5
This software is provided 'as-is', without any express or implied
6
warranty. In no event will the authors be held liable for any damages
7
arising from the use of this software.
8
9
Permission is granted to anyone to use this software for any purpose,
10
including commercial applications, and to alter it and redistribute it
11
freely, subject to the following restrictions:
12
13
1. The origin of this software must not be misrepresented; you must not
14
claim that you wrote the original software. If you use this software
15
in a product, an acknowledgment in the product documentation would be
16
appreciated but is not required.
17
2. Altered source versions must be plainly marked as such, and must not be
18
misrepresented as being the original software.
19
3. This notice may not be removed or altered from any source distribution.
20
*/
21
#include "../../SDL_internal.h"
22
#include "
SDL_system.h
"
23
24
/* Set up for C function definitions, even when using C++ */
25
#ifdef __cplusplus
26
/* *INDENT-OFF* */
27
extern
"C"
{
28
/* *INDENT-ON* */
29
#endif
30
31
#include <
EGL/eglplatform.h
>
32
#include <android/native_window_jni.h>
33
34
#include "
SDL_audio.h
"
35
#include "
SDL_rect.h
"
36
37
/* Interface from the SDL library into the Android Java activity */
38
extern
void
Android_JNI_SetActivityTitle
(
const
char
*title);
39
extern
void
Android_JNI_SetWindowStyle
(
SDL_bool
fullscreen);
40
extern
void
Android_JNI_SetOrientation
(
int
w
,
int
h
,
int
resizable,
const
char
*hint);
41
42
extern
SDL_bool
Android_JNI_GetAccelerometerValues
(
float
values
[3]);
43
extern
void
Android_JNI_ShowTextInput
(
SDL_Rect
*inputRect);
44
extern
void
Android_JNI_HideTextInput
(
void
);
45
extern
SDL_bool
Android_JNI_IsScreenKeyboardShown
(
void
);
46
extern
ANativeWindow*
Android_JNI_GetNativeWindow
(
void
);
47
48
extern
int
Android_JNI_GetDisplayDPI
(
float
*ddpi,
float
*xdpi,
float
*ydpi);
49
50
/* Audio support */
51
extern
int
Android_JNI_OpenAudioDevice
(
int
iscapture,
SDL_AudioSpec
*
spec
);
52
extern
void
*
Android_JNI_GetAudioBuffer
(
void
);
53
extern
void
Android_JNI_WriteAudioBuffer
(
void
);
54
extern
int
Android_JNI_CaptureAudioBuffer
(
void
*
buffer
,
int
buflen);
55
extern
void
Android_JNI_FlushCapturedAudio
(
void
);
56
extern
void
Android_JNI_CloseAudioDevice
(
const
int
iscapture);
57
58
/* Detecting device type */
59
extern
SDL_bool
Android_IsDeXMode
();
60
extern
SDL_bool
Android_IsChromebook
();
61
62
#include "
SDL_rwops.h
"
63
64
int
Android_JNI_FileOpen
(
SDL_RWops
*
ctx
,
const
char
* fileName,
const
char
*
mode
);
65
Sint64
Android_JNI_FileSize
(
SDL_RWops
*
ctx
);
66
Sint64
Android_JNI_FileSeek
(
SDL_RWops
*
ctx
,
Sint64
offset
,
int
whence);
67
size_t
Android_JNI_FileRead
(
SDL_RWops
*
ctx
,
void
*
buffer
,
size_t
size
,
size_t
maxnum);
68
size_t
Android_JNI_FileWrite
(
SDL_RWops
*
ctx
,
const
void
*
buffer
,
size_t
size
,
size_t
num
);
69
int
Android_JNI_FileClose
(
SDL_RWops
*
ctx
);
70
71
/* Environment support */
72
void
Android_JNI_GetManifestEnvironmentVariables
(
void
);
73
74
/* Clipboard support */
75
int
Android_JNI_SetClipboardText
(
const
char
*
text
);
76
char
*
Android_JNI_GetClipboardText
(
void
);
77
SDL_bool
Android_JNI_HasClipboardText
(
void
);
78
79
/* Power support */
80
int
Android_JNI_GetPowerInfo
(
int
* plugged,
int
* charged,
int
* battery,
int
* seconds,
int
* percent);
81
82
/* Joystick support */
83
void
Android_JNI_PollInputDevices
(
void
);
84
85
/* Haptic support */
86
void
Android_JNI_PollHapticDevices
(
void
);
87
void
Android_JNI_HapticRun
(
int
device_id,
float
intensity,
int
length
);
88
void
Android_JNI_HapticStop
(
int
device_id);
89
90
/* Video */
91
void
Android_JNI_SuspendScreenSaver
(
SDL_bool
suspend);
92
93
/* Touch support */
94
int
Android_JNI_InitTouch
(
void
);
95
void
Android_JNI_SetSeparateMouseAndTouch
(
SDL_bool
new_value);
96
int
Android_JNI_GetTouchDeviceIds
(
int
**
ids
);
97
98
/* Threads */
99
#include <jni.h>
100
JNIEnv *
Android_JNI_GetEnv
(
void
);
101
int
Android_JNI_SetupThread
(
void
);
102
103
/* Generic messages */
104
int
Android_JNI_SendMessage
(
int
command,
int
param
);
105
106
/* Init */
107
JNIEXPORT
void
JNICALL
SDL_Android_Init
(JNIEnv* mEnv, jclass cls);
108
109
/* MessageBox */
110
#include "
SDL_messagebox.h
"
111
int
Android_JNI_ShowMessageBox
(
const
SDL_MessageBoxData
*messageboxdata,
int
*buttonid);
112
113
/* Cursor support */
114
int
Android_JNI_CreateCustomCursor
(
SDL_Surface
*
surface
,
int
hot_x
,
int
hot_y);
115
SDL_bool
Android_JNI_SetCustomCursor
(
int
cursorID);
116
SDL_bool
Android_JNI_SetSystemCursor
(
int
cursorID);
117
118
/* Relative mouse support */
119
SDL_bool
Android_JNI_SupportsRelativeMouse
(
void
);
120
SDL_bool
Android_JNI_SetRelativeMouseEnabled
(
SDL_bool
enabled
);
121
122
123
SDL_bool
SDL_IsAndroidTablet
(
void
);
124
SDL_bool
SDL_IsAndroidTV
(
void
);
125
SDL_bool
SDL_IsChromebook
(
void
);
126
SDL_bool
SDL_IsDeXMode
(
void
);
127
128
/* Ends C function definitions when using C++ */
129
#ifdef __cplusplus
130
/* *INDENT-OFF* */
131
}
132
/* *INDENT-ON* */
133
#endif
134
135
/* vi: set ts=4 sw=4 expandtab: */
src
core
android
SDL_android.h
Generated on Sun Jun 26 2022 23:07:10 for SDL by
1.8.1.2