diff test/testpower.c @ 3170:b7a48f533966

Initial work on power subsystem for SDL 1.3.
author Ryan C. Gordon <icculus@icculus.org>
date Sun, 07 Jun 2009 06:06:35 +0000
parents
children 51750b7a966f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/testpower.c	Sun Jun 07 06:06:35 2009 +0000
@@ -0,0 +1,65 @@
+/* Simple test of power subsystem. */
+
+#include <stdio.h>
+#include "SDL.h"
+
+static void report_power(void)
+{
+    int seconds, percent;
+    const SDL_PowerState state = SDL_GetPowerInfo(&seconds, &percent);
+    char *statestr = NULL;
+
+    printf("SDL-reported power info...\n");
+    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;
+    }
+
+    printf("State: %s\n", statestr);
+
+    if (percent == -1) {
+        printf("Percent left: unknown\n");
+    } else {
+        printf("Percent left: %d%%\n", percent);
+    }
+
+    if (seconds == -1) {
+        printf("Time left: unknown\n");
+    } else {
+        printf("Time left: %d minutes, %d seconds\n", (int) (seconds / 60), (int) (seconds % 60));
+    }
+}
+
+
+int main(int argc, char *argv[])
+{
+    if (SDL_Init(SDL_INIT_VIDEO) == -1) {
+        fprintf(stderr, "SDL_Init() failed: %s\n", SDL_GetError());
+        return 1;
+    }
+
+    report_power();
+
+    SDL_Quit();
+    return 0;
+}
+
+/* end of testpower.c ... */
+