| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |   Simple DirectMedia Layer | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |   Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org> | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   This software is provided 'as-is', without any express or implied | 
					
						
							|  |  |  |   warranty.  In no event will the authors be held liable for any damages | 
					
						
							|  |  |  |   arising from the use of this software. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Permission is granted to anyone to use this software for any purpose, | 
					
						
							|  |  |  |   including commercial applications, and to alter it and redistribute it | 
					
						
							|  |  |  |   freely, subject to the following restrictions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   1. The origin of this software must not be misrepresented; you must not | 
					
						
							|  |  |  |      claim that you wrote the original software. If you use this software | 
					
						
							|  |  |  |      in a product, an acknowledgment in the product documentation would be | 
					
						
							|  |  |  |      appreciated but is not required. | 
					
						
							|  |  |  |   2. Altered source versions must be plainly marked as such, and must not be | 
					
						
							|  |  |  |      misrepresented as being the original software. | 
					
						
							|  |  |  |   3. This notice may not be removed or altered from any source distribution. | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-03 03:53:31 +00:00
										 |  |  | #ifndef SDL_power_h_
 | 
					
						
							|  |  |  | #define SDL_power_h_
 | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  *  \file SDL_power.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Header for the SDL power management routines. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "SDL_stdinc.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "begin_code.h"
 | 
					
						
							|  |  |  | /* Set up for C function definitions, even when using C++ */ | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" { | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |  *  The basic state for the system's power supply. | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | typedef enum | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     SDL_POWERSTATE_UNKNOWN,      /**< cannot determine power status */ | 
					
						
							|  |  |  |     SDL_POWERSTATE_ON_BATTERY,   /**< Not plugged in, running on the battery */ | 
					
						
							|  |  |  |     SDL_POWERSTATE_NO_BATTERY,   /**< Plugged in, no battery available */ | 
					
						
							|  |  |  |     SDL_POWERSTATE_CHARGING,     /**< Plugged in, charging battery */ | 
					
						
							|  |  |  |     SDL_POWERSTATE_CHARGED       /**< Plugged in, battery charged */ | 
					
						
							|  |  |  | } SDL_PowerState; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |  * Get the current power supply details. | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |  * You should never take a battery status as absolute truth. Batteries | 
					
						
							|  |  |  |  * (especially failing batteries) are delicate hardware, and the values | 
					
						
							|  |  |  |  * reported here are best estimates based on what that hardware reports. It's | 
					
						
							|  |  |  |  * not uncommon for older batteries to lose stored power much faster than it | 
					
						
							|  |  |  |  * reports, or completely drain when reporting it has 20 percent left, etc. | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |  * Battery status can change at any time; if you are concerned with power | 
					
						
							|  |  |  |  * state, you should call this function frequently, and perhaps ignore changes | 
					
						
							|  |  |  |  * until they seem to be stable for a few seconds. | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2021-09-08 00:49:10 +00:00
										 |  |  |  * It's possible a platform can only report battery percentage or time left | 
					
						
							|  |  |  |  * but not both. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * \param secs seconds of battery life left, you can pass a NULL here if you | 
					
						
							|  |  |  |  *             don't care, will return -1 if we can't determine a value, or | 
					
						
							|  |  |  |  *             we're not running on a battery | 
					
						
							|  |  |  |  * \param pct percentage of battery life left, between 0 and 100, you can pass | 
					
						
							|  |  |  |  *            a NULL here if you don't care, will return -1 if we can't | 
					
						
							|  |  |  |  *            determine a value, or we're not running on a battery | 
					
						
							|  |  |  |  * \returns an SDL_PowerState enum representing the current battery state. | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  |  */ | 
					
						
							|  |  |  | extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Ends C function definitions when using C++ */ | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #include "close_code.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-03 03:53:31 +00:00
										 |  |  | #endif /* SDL_power_h_ */
 | 
					
						
							| 
									
										
										
										
											2019-09-09 07:01:26 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* vi: set ts=4 sw=4 expandtab: */ |