forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #include <kinc/display.h>
 | ||
|  | #include <kinc/log.h>
 | ||
|  | 
 | ||
|  | void print_mode(const char *indent, kinc_display_mode_t mode) { | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%sx: %i", indent, mode.x); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%sy: %i", indent, mode.y); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%swidth: %i", indent, mode.width); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%sheight: %i", indent, mode.height); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%spixels_per_inch: %i", indent, mode.pixels_per_inch); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%sfrequency: %i", indent, mode.frequency); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "%sbits_per_pixel: %i", indent, mode.bits_per_pixel); | ||
|  | } | ||
|  | 
 | ||
|  | int kickstart(int argc, char **argv) { | ||
|  | 	bool print_modes = false; | ||
|  | 	if (argc > 1 && strcmp(argv[1], "--print-modes") == 0) { | ||
|  | 		print_modes = true; | ||
|  | 	} | ||
|  | 	kinc_display_init(); | ||
|  | 	int count = kinc_count_displays(); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "display count: %i", count); | ||
|  | 	kinc_log(KINC_LOG_LEVEL_INFO, "primary display: %i", kinc_primary_display()); | ||
|  | 	for (int i = 0; i < count; i++) { | ||
|  | 		bool available = kinc_display_available(i); | ||
|  | 		kinc_log(KINC_LOG_LEVEL_INFO, "display %i:", i); | ||
|  | 		kinc_log(KINC_LOG_LEVEL_INFO, "\tavailable: %s", available ? "true" : "false"); | ||
|  | 		if (available) { | ||
|  | 			kinc_log(KINC_LOG_LEVEL_INFO, "\tname: %s", kinc_display_name(i)); | ||
|  | 			kinc_display_mode_t mode = kinc_display_current_mode(i); | ||
|  | 			print_mode("\t", mode); | ||
|  | 			kinc_log(KINC_LOG_LEVEL_INFO, ""); | ||
|  | 			int mode_count = kinc_display_count_available_modes(i); | ||
|  | 			kinc_log(KINC_LOG_LEVEL_INFO, "\tavailable modes: %i", mode_count); | ||
|  | 			if (print_modes) { | ||
|  | 				for (int j = 0; j < mode_count; j++) { | ||
|  | 					kinc_display_mode_t mode = kinc_display_available_mode(i, j); | ||
|  | 					print_mode("\t\t", mode); | ||
|  | 					kinc_log(KINC_LOG_LEVEL_INFO, ""); | ||
|  | 				} | ||
|  | 			} | ||
|  | 		} | ||
|  | 	} | ||
|  | 	return 0; | ||
|  | } |