view test/testpower.c @ 3178:72edc980789b

1. SDL_CreateTextureFromSurface() now tries to find surface's pixel format. 2. SDL_CreateTextureFromSurface() now has best texture format search for non-alpha pixel formats. 3. Added comparision for pixels packed order to the video mode sorting callback to avoid mixing 1555/565/4444 pixel formats. 4. Added sorting call for current video mode list after each new video mode addition, because SDL_GetClosestDisplayMode() requires video modes to be sorted, and this is one place only where we can detect video modes addition.
author Mike Gorchak <lestat@i.com.ua>
date Tue, 09 Jun 2009 08:56:43 +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 ... */