87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			87 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #pragma once
 | ||
|  | 
 | ||
|  | #include <kinc/global.h>
 | ||
|  | 
 | ||
|  | #include <stdbool.h>
 | ||
|  | 
 | ||
|  | /*! \file display.h
 | ||
|  |     \brief Provides information for the active displays. | ||
|  | */ | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | typedef struct kinc_display_mode { | ||
|  | 	int x; | ||
|  | 	int y; | ||
|  | 	int width; | ||
|  | 	int height; | ||
|  | 	int pixels_per_inch; | ||
|  | 	int frequency; | ||
|  | 	int bits_per_pixel; | ||
|  | } kinc_display_mode_t; | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Allows retrieval of display values prior to the kinc_init call.
 | ||
|  | /// </summary>
 | ||
|  | KINC_FUNC void kinc_display_init(void); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves the index of the primary display.
 | ||
|  | /// </summary>
 | ||
|  | /// <returns>The index of the primary display</returns>
 | ||
|  | KINC_FUNC int kinc_primary_display(void); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves the number of displays connected to the system.
 | ||
|  | /// </summary>
 | ||
|  | /// <remarks>
 | ||
|  | /// All indices from 0 to kinc_count_displays() - 1 are legal display indices.
 | ||
|  | /// </remarks>
 | ||
|  | /// <returns>The number of displays connected to the system</returns>
 | ||
|  | KINC_FUNC int kinc_count_displays(void); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Checks whether the display index points to an available display.
 | ||
|  | /// </summary>
 | ||
|  | /// <param name="display_index">Index of the display to check</param>
 | ||
|  | /// <returns>
 | ||
|  | /// Returns true if the index points to an available display,
 | ||
|  | /// false otherwise
 | ||
|  | /// </returns>
 | ||
|  | KINC_FUNC bool kinc_display_available(int display_index); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves the system name of a display.
 | ||
|  | /// </summary>
 | ||
|  | /// <param name="display_index">Index of the display to retrieve the name from</param>
 | ||
|  | /// <returns>The system name of the display</returns>
 | ||
|  | KINC_FUNC const char *kinc_display_name(int display_index); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves the current mode of a display.
 | ||
|  | /// </summary>
 | ||
|  | /// <param name="display_index">Index of the display to retrieve the mode from</param>
 | ||
|  | /// <returns>The current display mode</returns>
 | ||
|  | KINC_FUNC kinc_display_mode_t kinc_display_current_mode(int display_index); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves the number of available modes of a display.
 | ||
|  | /// </summary>
 | ||
|  | /// <param name="display_index">Index of the display to retrieve the modes count from</param>
 | ||
|  | /// <returns>The number of available modes of the display</returns>
 | ||
|  | KINC_FUNC int kinc_display_count_available_modes(int display_index); | ||
|  | 
 | ||
|  | /// <summary>
 | ||
|  | /// Retrieves a specific mode of a display.
 | ||
|  | /// </summary>
 | ||
|  | /// <param name="display_index">Index of the display to retrieve the mode from</param>
 | ||
|  | /// <param name="mode_index">Index of the mode to retrieve</param>
 | ||
|  | /// <returns>The display mode</returns>
 | ||
|  | KINC_FUNC kinc_display_mode_t kinc_display_available_mode(int display_index, int mode_index); | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 |