test/testpower.c
author Sam Lantinga <slouken@libsdl.org>
Thu, 07 Dec 2017 16:08:09 -0800
changeset 11730 ac6c607e065c
parent 10737 3406a0f8b041
child 11811 5d94cb6b24d3
permissions -rw-r--r--
Enable building the Metal renderer by default, and weak link the Metal framework so the SDL library is safe to use on older Macs
Also generate iOS versions of the Metal shaders
     1 /*
     2   Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
     3 
     4   This software is provided 'as-is', without any express or implied
     5   warranty.  In no event will the authors be held liable for any damages
     6   arising from the use of this software.
     7 
     8   Permission is granted to anyone to use this software for any purpose,
     9   including commercial applications, and to alter it and redistribute it
    10   freely.
    11 */
    12 /* Simple test of power subsystem. */
    13 
    14 #include <stdio.h>
    15 #include "SDL.h"
    16 
    17 static void
    18 report_power(void)
    19 {
    20     int seconds, percent;
    21     const SDL_PowerState state = SDL_GetPowerInfo(&seconds, &percent);
    22     char *statestr = NULL;
    23 
    24     SDL_Log("SDL-reported power info...\n");
    25     switch (state) {
    26     case SDL_POWERSTATE_UNKNOWN:
    27         statestr = "Unknown";
    28         break;
    29     case SDL_POWERSTATE_ON_BATTERY:
    30         statestr = "On battery";
    31         break;
    32     case SDL_POWERSTATE_NO_BATTERY:
    33         statestr = "No battery";
    34         break;
    35     case SDL_POWERSTATE_CHARGING:
    36         statestr = "Charging";
    37         break;
    38     case SDL_POWERSTATE_CHARGED:
    39         statestr = "Charged";
    40         break;
    41     default:
    42         statestr = "!!API ERROR!!";
    43         break;
    44     }
    45 
    46     SDL_Log("State: %s\n", statestr);
    47 
    48     if (percent == -1) {
    49         SDL_Log("Percent left: unknown\n");
    50     } else {
    51         SDL_Log("Percent left: %d%%\n", percent);
    52     }
    53 
    54     if (seconds == -1) {
    55         SDL_Log("Time left: unknown\n");
    56     } else {
    57         SDL_Log("Time left: %d minutes, %d seconds\n", (int) (seconds / 60),
    58                (int) (seconds % 60));
    59     }
    60 }
    61 
    62 
    63 int
    64 main(int argc, char *argv[])
    65 {
    66     /* Enable standard application logging */
    67     SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
    68 
    69     if (SDL_Init(0) == -1) {
    70         SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_Init() failed: %s\n", SDL_GetError());
    71         return 1;
    72     }
    73 
    74     report_power();
    75 
    76     SDL_Quit();
    77     return 0;
    78 }
    79 
    80 /* end of testpower.c ... */