97 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			97 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package kha;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Display {
							 | 
						||
| 
								 | 
							
									static var displays: Array<Display>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var num: Int;
							 | 
						||
| 
								 | 
							
									var isPrimary: Bool;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function new(num: Int, isPrimary: Bool) {
							 | 
						||
| 
								 | 
							
										this.num = num;
							 | 
						||
| 
								 | 
							
										this.isPrimary = isPrimary;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static function init(): Void {
							 | 
						||
| 
								 | 
							
										if (displays == null) {
							 | 
						||
| 
								 | 
							
											// TODO: Krom.displayInit();
							 | 
						||
| 
								 | 
							
											displays = [];
							 | 
						||
| 
								 | 
							
											for (i in 0...Krom.displayCount()) {
							 | 
						||
| 
								 | 
							
												displays.push(new Display(i, Krom.displayIsPrimary(i)));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static var primary(get, never): Display;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static function get_primary(): Display {
							 | 
						||
| 
								 | 
							
										init();
							 | 
						||
| 
								 | 
							
										for (display in displays) {
							 | 
						||
| 
								 | 
							
											if (display.isPrimary) {
							 | 
						||
| 
								 | 
							
												return display;
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return null;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public static var all(get, never): Array<Display>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									static function get_all(): Array<Display> {
							 | 
						||
| 
								 | 
							
										init();
							 | 
						||
| 
								 | 
							
										return displays;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var available(get, never): Bool;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_available(): Bool {
							 | 
						||
| 
								 | 
							
										return true;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var name(get, never): String;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_name(): String {
							 | 
						||
| 
								 | 
							
										return "Display";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var x(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_x(): Int {
							 | 
						||
| 
								 | 
							
										return Krom.displayX(num);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var y(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_y(): Int {
							 | 
						||
| 
								 | 
							
										return Krom.displayY(num);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var width(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_width(): Int {
							 | 
						||
| 
								 | 
							
										return Krom.displayWidth(num);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var height(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_height(): Int {
							 | 
						||
| 
								 | 
							
										return Krom.displayHeight(num);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var frequency(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_frequency(): Int {
							 | 
						||
| 
								 | 
							
										return 60;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var pixelsPerInch(get, never): Int;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_pixelsPerInch(): Int {
							 | 
						||
| 
								 | 
							
										return Krom.screenDpi();
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									public var modes(get, never): Array<DisplayMode>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									function get_modes(): Array<DisplayMode> {
							 | 
						||
| 
								 | 
							
										return [];
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |