From 6aaedb813fa11ba0679c3051bc2eb28646b9506c Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 30 Aug 2025 16:53:58 -0700 Subject: Update to SDL3 --- src/contrib/SDL-3.2.20/test/testpower.c | 90 +++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/contrib/SDL-3.2.20/test/testpower.c (limited to 'src/contrib/SDL-3.2.20/test/testpower.c') diff --git a/src/contrib/SDL-3.2.20/test/testpower.c b/src/contrib/SDL-3.2.20/test/testpower.c new file mode 100644 index 0000000..912ee67 --- /dev/null +++ b/src/contrib/SDL-3.2.20/test/testpower.c @@ -0,0 +1,90 @@ +/* + Copyright (C) 1997-2025 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely. +*/ +/* Simple test of power subsystem. */ + +#include +#include +#include + +static void +report_power(void) +{ + int seconds, percent; + const SDL_PowerState state = SDL_GetPowerInfo(&seconds, &percent); + const char *statestr = NULL; + + SDL_Log("SDL-reported power info..."); + switch (state) { + case SDL_POWERSTATE_UNKNOWN: + statestr = "Unknown"; + break; + case SDL_POWERSTATE_ON_BATTERY: + statestr = "On battery"; + break; + case SDL_POWERSTATE_NO_BATTERY: + statestr = "No battery"; + break; + case SDL_POWERSTATE_CHARGING: + statestr = "Charging"; + break; + case SDL_POWERSTATE_CHARGED: + statestr = "Charged"; + break; + default: + statestr = "!!API ERROR!!"; + break; + } + + SDL_Log("State: %s", statestr); + + if (percent == -1) { + SDL_Log("Percent left: unknown"); + } else { + SDL_Log("Percent left: %d%%", percent); + } + + if (seconds == -1) { + SDL_Log("Time left: unknown"); + } else { + SDL_Log("Time left: %d minutes, %d seconds", seconds / 60, seconds % 60); + } +} + +int main(int argc, char *argv[]) +{ + SDLTest_CommonState *state; + + /* Initialize test framework */ + state = SDLTest_CommonCreateState(argv, 0); + if (!state) { + return 1; + } + + /* Parse commandline */ + if (!SDLTest_CommonDefaultArgs(state, argc, argv)) { + return 1; + } + + if (!SDL_Init(0)) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_Init() failed: %s", SDL_GetError()); + return 1; + } + + report_power(); + + SDL_Quit(); + SDLTest_CommonDestroyState(state); + + return 0; +} + +/* end of testpower.c ... */ -- cgit v1.2.3