view test/testpower.c @ 3464:09136f534198

1. SDL_RenderPresent() call has been added after each test to be sure, that all graphics output is flushed in case if it was asynchronous. 2. After each renderer test window recreation has been added.
author Mike Gorchak <lestat@i.com.ua>
date Fri, 20 Nov 2009 07:11:29 +0000
parents 51750b7a966f
children
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 ... */