forked from LeenkxTeam/LNXSDK
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;
|
|
}*/
|
|
}
|
|
}
|