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