Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 11 | pmbaty | 1 | /* | 
        
| 2 |   Simple DirectMedia Layer | 
        ||
| 3 |   Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org> | 
        ||
| 4 | |||
| 5 |   This software is provided 'as-is', without any express or implied | 
        ||
| 6 |   warranty.  In no event will the authors be held liable for any damages | 
        ||
| 7 |   arising from the use of this software. | 
        ||
| 8 | |||
| 9 |   Permission is granted to anyone to use this software for any purpose, | 
        ||
| 10 |   including commercial applications, and to alter it and redistribute it | 
        ||
| 11 |   freely, subject to the following restrictions: | 
        ||
| 12 | |||
| 13 |   1. The origin of this software must not be misrepresented; you must not | 
        ||
| 14 |      claim that you wrote the original software. If you use this software | 
        ||
| 15 |      in a product, an acknowledgment in the product documentation would be | 
        ||
| 16 |      appreciated but is not required. | 
        ||
| 17 |   2. Altered source versions must be plainly marked as such, and must not be | 
        ||
| 18 |      misrepresented as being the original software. | 
        ||
| 19 |   3. This notice may not be removed or altered from any source distribution. | 
        ||
| 20 | */ | 
        ||
| 21 | |||
| 22 | #ifndef SDL_power_h_ | 
        ||
| 23 | #define SDL_power_h_ | 
        ||
| 24 | |||
| 25 | /** | 
        ||
| 26 |  *  \file SDL_power.h | 
        ||
| 27 |  * | 
        ||
| 28 |  *  Header for the SDL power management routines. | 
        ||
| 29 |  */ | 
        ||
| 30 | |||
| 31 | #include "SDL_stdinc.h" | 
        ||
| 32 | |||
| 33 | #include "begin_code.h" | 
        ||
| 34 | /* Set up for C function definitions, even when using C++ */ | 
        ||
| 35 | #ifdef __cplusplus | 
        ||
| 36 | extern "C" {  | 
        ||
| 37 | #endif | 
        ||
| 38 | |||
| 39 | /** | 
        ||
| 40 |  *  The basic state for the system's power supply. | 
        ||
| 41 |  */ | 
        ||
| 42 | typedef enum  | 
        ||
| 43 | { | 
        ||
| 44 |     SDL_POWERSTATE_UNKNOWN,      /**< cannot determine power status */ | 
        ||
| 45 |     SDL_POWERSTATE_ON_BATTERY,   /**< Not plugged in, running on the battery */ | 
        ||
| 46 |     SDL_POWERSTATE_NO_BATTERY,   /**< Plugged in, no battery available */ | 
        ||
| 47 |     SDL_POWERSTATE_CHARGING,     /**< Plugged in, charging battery */ | 
        ||
| 48 |     SDL_POWERSTATE_CHARGED       /**< Plugged in, battery charged */ | 
        ||
| 49 | } SDL_PowerState;  | 
        ||
| 50 | |||
| 51 | /** | 
        ||
| 52 |  * Get the current power supply details. | 
        ||
| 53 |  * | 
        ||
| 54 |  * You should never take a battery status as absolute truth. Batteries | 
        ||
| 55 |  * (especially failing batteries) are delicate hardware, and the values | 
        ||
| 56 |  * reported here are best estimates based on what that hardware reports. It's | 
        ||
| 57 |  * not uncommon for older batteries to lose stored power much faster than it | 
        ||
| 58 |  * reports, or completely drain when reporting it has 20 percent left, etc. | 
        ||
| 59 |  * | 
        ||
| 60 |  * Battery status can change at any time; if you are concerned with power | 
        ||
| 61 |  * state, you should call this function frequently, and perhaps ignore changes | 
        ||
| 62 |  * until they seem to be stable for a few seconds. | 
        ||
| 63 |  * | 
        ||
| 64 |  * It's possible a platform can only report battery percentage or time left | 
        ||
| 65 |  * but not both. | 
        ||
| 66 |  * | 
        ||
| 67 |  * \param seconds seconds of battery life left, you can pass a NULL here if | 
        ||
| 68 |  *                you don't care, will return -1 if we can't determine a | 
        ||
| 69 |  *                value, or we're not running on a battery | 
        ||
| 70 |  * \param percent percentage of battery life left, between 0 and 100, you can | 
        ||
| 71 |  *                pass a NULL here if you don't care, will return -1 if we | 
        ||
| 72 |  *                can't determine a value, or we're not running on a battery | 
        ||
| 73 |  * \returns an SDL_PowerState enum representing the current battery state. | 
        ||
| 74 |  * | 
        ||
| 75 |  * \since This function is available since SDL 2.0.0. | 
        ||
| 76 |  */ | 
        ||
| 77 | extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *seconds, int *percent);  | 
        ||
| 78 | |||
| 79 | /* Ends C function definitions when using C++ */ | 
        ||
| 80 | #ifdef __cplusplus | 
        ||
| 81 | } | 
        ||
| 82 | #endif | 
        ||
| 83 | #include "close_code.h" | 
        ||
| 84 | |||
| 85 | #endif /* SDL_power_h_ */ | 
        ||
| 86 | |||
| 87 | /* vi: set ts=4 sw=4 expandtab: */ |