forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			151 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			151 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package kha;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@:headerCode("
							 | 
						||
| 
								 | 
							
								#include <kinc/display.h>
							 | 
						||
| 
								 | 
							
								")
							 | 
						||
| 
								 | 
							
								class Display {
							 | 
						||
| 
								 | 
							
									var num: Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static var displays: Array<Display> = null;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function new(num: Int) {
							 | 
						||
| 
								 | 
							
										this.num = num;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_count_displays();")
							 | 
						||
| 
								 | 
							
									static function count(): Int {
							 | 
						||
| 
								 | 
							
										return 0;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("kinc_display_init();")
							 | 
						||
| 
								 | 
							
									static function initKoreDisplay(): Void {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static function init() {
							 | 
						||
| 
								 | 
							
										if (displays == null) {
							 | 
						||
| 
								 | 
							
											initKoreDisplay();
							 | 
						||
| 
								 | 
							
											displays = [];
							 | 
						||
| 
								 | 
							
											for (i in 0...count()) {
							 | 
						||
| 
								 | 
							
												displays.push(new Display(i));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_primary_display();")
							 | 
						||
| 
								 | 
							
									static function primaryId() {
							 | 
						||
| 
								 | 
							
										return 0;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static var primary(get, never): Display;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static function get_primary(): Display {
							 | 
						||
| 
								 | 
							
										init();
							 | 
						||
| 
								 | 
							
										return displays[primaryId()];
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static var all(get, never): Array<Display>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static function get_all(): Array<Display> {
							 | 
						||
| 
								 | 
							
										init();
							 | 
						||
| 
								 | 
							
										return displays;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var available(get, never): Bool;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_available(num);")
							 | 
						||
| 
								 | 
							
									function get_available(): Bool {
							 | 
						||
| 
								 | 
							
										return true;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var name(get, never): String;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return ::String(kinc_display_name(num));")
							 | 
						||
| 
								 | 
							
									function get_name(): String {
							 | 
						||
| 
								 | 
							
										return "Display";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var x(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).x;")
							 | 
						||
| 
								 | 
							
									function get_x(): Int {
							 | 
						||
| 
								 | 
							
										return 0;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var y(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).y;")
							 | 
						||
| 
								 | 
							
									function get_y(): Int {
							 | 
						||
| 
								 | 
							
										return 0;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var width(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).width;")
							 | 
						||
| 
								 | 
							
									function get_width(): Int {
							 | 
						||
| 
								 | 
							
										return 800;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var height(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).height;")
							 | 
						||
| 
								 | 
							
									function get_height(): Int {
							 | 
						||
| 
								 | 
							
										return 600;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var frequency(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).frequency;")
							 | 
						||
| 
								 | 
							
									function get_frequency(): Int {
							 | 
						||
| 
								 | 
							
										return 60;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var pixelsPerInch(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_current_mode(num).pixels_per_inch;")
							 | 
						||
| 
								 | 
							
									function get_pixelsPerInch(): Int {
							 | 
						||
| 
								 | 
							
										return 72;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var modes(get, never): Array<DisplayMode>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var allModes: Array<DisplayMode> = null;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_count_available_modes(num);")
							 | 
						||
| 
								 | 
							
									function modeCount(): Int {
							 | 
						||
| 
								 | 
							
										return 0;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_available_mode(num, modeIndex).width;")
							 | 
						||
| 
								 | 
							
									function getModeWidth(modeIndex: Int) {
							 | 
						||
| 
								 | 
							
										return 800;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_available_mode(num, modeIndex).height;")
							 | 
						||
| 
								 | 
							
									function getModeHeight(modeIndex: Int) {
							 | 
						||
| 
								 | 
							
										return 600;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_available_mode(num, modeIndex).frequency;")
							 | 
						||
| 
								 | 
							
									function getModeFrequency(modeIndex: Int) {
							 | 
						||
| 
								 | 
							
										return 60;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@:functionCode("return kinc_display_available_mode(num, modeIndex).bits_per_pixel;")
							 | 
						||
| 
								 | 
							
									function getModeBitsPerPixel(modeIndex: Int) {
							 | 
						||
| 
								 | 
							
										return 32;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function initModes() {
							 | 
						||
| 
								 | 
							
										if (allModes == null) {
							 | 
						||
| 
								 | 
							
											allModes = [];
							 | 
						||
| 
								 | 
							
											for (i in 0...modeCount()) {
							 | 
						||
| 
								 | 
							
												allModes.push(new DisplayMode(getModeWidth(i), getModeHeight(i), getModeFrequency(i), getModeBitsPerPixel(i)));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_modes(): Array<DisplayMode> {
							 | 
						||
| 
								 | 
							
										initModes();
							 | 
						||
| 
								 | 
							
										return allModes;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |