79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha; | ||
|  | 
 | ||
|  | import haxe.CallStack; | ||
|  | import haxe.io.Bytes; | ||
|  | import haxe.io.BytesData; | ||
|  | import haxe.Json; | ||
|  | import kha.Blob; | ||
|  | import kha.FontStyle; | ||
|  | import kha.Kravur; | ||
|  | import system.io.File; | ||
|  | import system.windows.FrameworkElement; | ||
|  | import system.windows.input.Cursor; | ||
|  | import system.windows.input.Cursors; | ||
|  | import system.windows.input.Mouse; | ||
|  | 
 | ||
|  | class LoaderImpl { | ||
|  | 	public static var path: String = ""; | ||
|  | 	public static var forceBusyCursor: Bool = false; | ||
|  | 	static var savedCursor: Cursor; | ||
|  | 	static var busyCursor: Bool = false; | ||
|  | 
 | ||
|  | 	public static function loadSoundFromDescription(desc: Dynamic, done: kha.Sound->Void, failed: AssetError->Void): Void { | ||
|  | 		done(new kha.wpf.Sound(path + desc.files[0])); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function getSoundFormats(): Array<String> { | ||
|  | 		return ["wav"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadImageFromDescription(desc: Dynamic, done: kha.Image->Void, failed: AssetError->Void): Void { | ||
|  | 		done(Image.fromFilename(path + desc.files[0])); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function getImageFormats(): Array<String> { | ||
|  | 		return ["png", "jpg"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadBlobFromDescription(desc: Dynamic, done: kha.Blob->Void, failed: AssetError->Void): Void { | ||
|  | 		done(new Blob(Bytes.ofData(File.ReadAllBytes(path + desc.files[0])))); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadVideoFromDescription(desc: Dynamic, done: kha.Video->Void, failed: AssetError->Void): Void { | ||
|  | 		done(new kha.wpf.Video(path + desc.files[0])); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function getVideoFormats(): Array<String> { | ||
|  | 		return ["wmv"]; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function loadFontFromDescription(desc: Dynamic, done: kha.Font->Void, failed: AssetError->Void): Void { | ||
|  | 		loadBlobFromDescription(desc, function(blob: Blob) { | ||
|  | 			done(new Kravur(blob)); | ||
|  | 		}, failed); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	@:functionCode('global::System.Diagnostics.Process.Start(new global::System.Uri(url).AbsoluteUri);') | ||
|  | 	public static function loadURL(url: String): Void {} | ||
|  | 
 | ||
|  | 	public static function setNormalCursor() { | ||
|  | 		savedCursor = Cursors.Arrow; | ||
|  | 		// if (!busyCursor && !forceBusyCursor) Starter.frameworkElement.Cursor = Cursors.Arrow; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function setHandCursor() { | ||
|  | 		savedCursor = Cursors.Hand; | ||
|  | 		// if (!busyCursor && !forceBusyCursor) Starter.frameworkElement.Cursor = Cursors.Hand; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static function setCursorBusy(busy: Bool) { | ||
|  | 		/*busyCursor = busy; | ||
|  | 			if (busy || forceBusyCursor) { | ||
|  | 				Starter.frameworkElement.Cursor = Cursors.Wait; | ||
|  | 			} | ||
|  | 			else { | ||
|  | 				Starter.frameworkElement.Cursor = savedCursor; | ||
|  | 		}*/ | ||
|  | 	} | ||
|  | } |