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;
 | 
						|
	}
 | 
						|
}
 |