43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha; | ||
|  | 
 | ||
|  | enum abstract WindowFeatures(Int) to Int { | ||
|  | 	var None = 0; | ||
|  | 	var FeatureResizable = 1; | ||
|  | 	var FeatureMinimizable = 2; | ||
|  | 	var FeatureMaximizable = 4; | ||
|  | 	var FeatureBorderless = 8; | ||
|  | 	var FeatureOnTop = 16; | ||
|  | 
 | ||
|  | 	function new(value: Int) { | ||
|  | 		this = value; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	@:op(A | B) static function or(a: WindowFeatures, b: WindowFeatures): WindowFeatures; | ||
|  | } | ||
|  | 
 | ||
|  | @:structInit | ||
|  | class WindowOptions { | ||
|  | 	@:optional public var title: String = null; | ||
|  | 	@:optional public var x: Int = -1; | ||
|  | 	@:optional public var y: Int = -1; | ||
|  | 	@:optional public var width: Int = 800; | ||
|  | 	@:optional public var height: Int = 600; | ||
|  | 	@:optional public var display: Int = -1; | ||
|  | 	@:optional public var visible: Bool = true; | ||
|  | 	@:optional public var windowFeatures: WindowFeatures = FeatureResizable | FeatureMaximizable | FeatureMinimizable; | ||
|  | 	@:optional public var mode: WindowMode = Windowed; | ||
|  | 
 | ||
|  | 	public function new(title: String = null, ?x: Int = -1, ?y: Int = -1, ?width: Int = 800, ?height: Int = 600, ?display: Int = -1, ?visible: Bool = true, | ||
|  | 			?windowFeatures: WindowFeatures, ?mode: WindowMode = WindowMode.Windowed) { | ||
|  | 		this.title = title; | ||
|  | 		this.x = x; | ||
|  | 		this.y = y; | ||
|  | 		this.width = width; | ||
|  | 		this.height = height; | ||
|  | 		this.display = display; | ||
|  | 		this.visible = visible; | ||
|  | 		this.windowFeatures = (windowFeatures == null) ? WindowFeatures.FeatureResizable | WindowFeatures.FeatureMaximizable | WindowFeatures.FeatureMinimizable : windowFeatures; | ||
|  | 		this.mode = mode; | ||
|  | 	} | ||
|  | } |