src/core/android/SDL_android.h
author Gabriel Jacobo <gabomdq@gmail.com>
Mon, 09 Jul 2012 18:08:06 -0300
changeset 6354 17840f487124
parent 6212 78d854de3a66
child 6392 fa7eb111f994
permissions -rwxr-xr-x
Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     1
/*
5535
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
     2
  Simple DirectMedia Layer
6138
4c64952a58fb Happy New Year!
Sam Lantinga <slouken@libsdl.org>
parents: 5582
diff changeset
     3
  Copyright (C) 1997-2012 Sam Lantinga <slouken@libsdl.org>
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     4
5535
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
     5
  This software is provided 'as-is', without any express or implied
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
     6
  warranty.  In no event will the authors be held liable for any damages
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
     7
  arising from the use of this software.
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     8
5535
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
     9
  Permission is granted to anyone to use this software for any purpose,
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    10
  including commercial applications, and to alter it and redistribute it
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    11
  freely, subject to the following restrictions:
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    12
5535
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    13
  1. The origin of this software must not be misrepresented; you must not
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    14
     claim that you wrote the original software. If you use this software
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    15
     in a product, an acknowledgment in the product documentation would be
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    16
     appreciated but is not required.
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    17
  2. Altered source versions must be plainly marked as such, and must not be
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    18
     misrepresented as being the original software.
96594ac5fd1a SDL 1.3 is now under the zlib license.
Sam Lantinga <slouken@libsdl.org>
parents: 5262
diff changeset
    19
  3. This notice may not be removed or altered from any source distribution.
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    20
*/
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    21
#include "SDL_config.h"
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    22
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    23
/* Set up for C function definitions, even when using C++ */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    24
#ifdef __cplusplus
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    25
/* *INDENT-OFF* */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    26
extern "C" {
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    27
/* *INDENT-ON* */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    28
#endif
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    29
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    30
/* Interface from the SDL library into the Android Java activity */
5222
c66b2a778b7e Try to create an OpenGL ES 2.0 context on Android and successfully fall back to OpenGL ES 1.1 if that fails.
Sam Lantinga <slouken@libsdl.org>
parents: 5090
diff changeset
    31
extern SDL_bool Android_JNI_CreateContext(int majorVersion, int minorVersion);
5000
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    32
extern void Android_JNI_SwapWindow();
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    33
extern void Android_JNI_SetActivityTitle(const char *title);
6212
78d854de3a66 Fixed bug 1368 - Enabling joystick subsystem cause an infinite loop
Sam Lantinga <slouken@libsdl.org>
parents: 6138
diff changeset
    34
extern SDL_bool Android_JNI_GetAccelerometerValues(float values[3]);
4995
9f9bea41e88f Working audio implementation contributed by Joseph Lunderville
Sam Lantinga <slouken@libsdl.org>
parents: 4994
diff changeset
    35
9f9bea41e88f Working audio implementation contributed by Joseph Lunderville
Sam Lantinga <slouken@libsdl.org>
parents: 4994
diff changeset
    36
// Audio support
5000
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    37
extern int Android_JNI_OpenAudioDevice(int sampleRate, int is16Bit, int channelCount, int desiredBufferFrames);
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    38
extern void* Android_JNI_GetAudioBuffer();
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    39
extern void Android_JNI_WriteAudioBuffer();
6a10693e66c3 Cleaned up internal accelerometer interface
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    40
extern void Android_JNI_CloseAudioDevice();
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    41
5582
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    42
#include "SDL_rwops.h"
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    43
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    44
int Android_JNI_FileOpen(SDL_RWops* ctx, const char* fileName, const char* mode);
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    45
long Android_JNI_FileSeek(SDL_RWops* ctx, long offset, int whence);
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    46
size_t Android_JNI_FileRead(SDL_RWops* ctx, void* buffer, size_t size, size_t maxnum);
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    47
size_t Android_JNI_FileWrite(SDL_RWops* ctx, const void* buffer, size_t size, size_t num);
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    48
int Android_JNI_FileClose(SDL_RWops* ctx);
1281a3f1f0a6 Allow Android platforms to read from .apk files via the RWOPS interface.
Ryan C. Gordon <icculus@icculus.org>
parents: 5535
diff changeset
    49
6354
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    50
// Threads
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    51
#include <jni.h>
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    52
static void Android_JNI_ThreadDestroyed(void*);
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    53
JNIEnv *Android_JNI_GetEnv(void);
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    54
int Android_JNI_SetupThread(void);
17840f487124 Fixes #1422, removes global JNI Env, uses per thread copies, adds thread auto detaching.
Gabriel Jacobo <gabomdq@gmail.com>
parents: 6212
diff changeset
    55
4994
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    56
/* Ends C function definitions when using C++ */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    57
#ifdef __cplusplus
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    58
/* *INDENT-OFF* */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    59
}
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    60
/* *INDENT-ON* */
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    61
#endif
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    62
e4ed74189d63 Added missing header
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    63
/* vi: set ts=4 sw=4 expandtab: */