view test/testpower.c @ 3180:77d6336711fc

First commit for SDL atomic operations. On my linux box it compiles and installs correctly and testatomic runs without errors.
author Bob Pendleton <bob@pendleton.com>
date Tue, 09 Jun 2009 17:33:44 +0000
parents b7a48f533966
children 51750b7a966f
line wrap: on
line source

/* 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 ... */