6#include <QtCore/QJniObject>
19 int version = SDL_GetVersion();
20 int major = SDL_VERSIONNUM_MAJOR(version);
21 int minor = SDL_VERSIONNUM_MINOR(version);
22 int micro = SDL_VERSIONNUM_MICRO(version);
23 return QStringLiteral(
"%1.%2.%3").arg(major).arg(minor).arg(micro);
28 const char *rev = SDL_GetRevision();
29 return rev ? QString::fromUtf8(rev) : QString();
36bool setHint(
const QString &name,
const QString &value)
38 return SDL_SetHint(qPrintable(name), qPrintable(value));
43 const char *value = SDL_GetHint(qPrintable(name));
44 return value ? QString::fromUtf8(value) : QString();
49 return SDL_GetHintBoolean(qPrintable(name), defaultValue);
54 return SDL_ResetHint(qPrintable(name));
68 return QString::fromUtf8(SDL_GetPlatform());
109#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
119 return QJniObject::callStaticMethod<jboolean>(
"org/libsdl/app/SDLActivity",
"isTablet",
"()Z");
128 return QJniObject::callStaticMethod<jboolean>(
"org/libsdl/app/SDLActivity",
"isAndroidTV",
"()Z");
137 return QJniObject::callStaticMethod<jboolean>(
"org/libsdl/app/SDLActivity",
"isDeXMode",
"()Z");
146 return QJniObject::callStaticMethod<jboolean>(
"org/libsdl/app/SDLActivity",
"isChromebook",
"()Z");
158 return SDL_GetNumLogicalCPUCores();
163 return SDL_GetSystemRAM();
173 return SDL_GetAndroidSDKVersion();
182 const char *path = SDL_GetAndroidInternalStoragePath();
183 return path ? QString::fromUtf8(path) : QString();
192 const char *path = SDL_GetAndroidExternalStoragePath();
193 return path ? QString::fromUtf8(path) : QString();
202 Uint32 state = SDL_GetAndroidExternalStorageState();
204 if (state & SDL_ANDROID_EXTERNAL_STORAGE_READ) {
207 if (state & SDL_ANDROID_EXTERNAL_STORAGE_WRITE) {
217static void androidPermissionCallback(
void *userdata,
const char * ,
bool granted)
219 auto *callback =
static_cast<std::function<
void(
bool)
>*>(userdata);
221 (*callback)(granted);
233 auto *callbackPtr =
new std::function<void(bool)>(std::move(callback));
234 if (!SDL_RequestAndroidPermission(qPrintable(permission), androidPermissionCallback, callbackPtr)) {
240 Q_UNUSED(permission);
256 SDL_PowerState state = SDL_GetPowerInfo(&sec, &pct);
266 case SDL_POWERSTATE_ON_BATTERY:
267 return QStringLiteral(
"On Battery");
268 case SDL_POWERSTATE_NO_BATTERY:
269 return QStringLiteral(
"No Battery");
270 case SDL_POWERSTATE_CHARGING:
271 return QStringLiteral(
"Charging");
272 case SDL_POWERSTATE_CHARGED:
273 return QStringLiteral(
"Charged");
274 case SDL_POWERSTATE_ERROR:
275 return QStringLiteral(
"Error");
276 case SDL_POWERSTATE_UNKNOWN:
278 return QStringLiteral(
"Unknown");