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