public static void LoadStorePack(string id, SciterValue cbk) { Task.Run(() => { List <Task> tasks = new List <Task>(); var pack = _store_packs.Single(p => p.id == id); foreach (var icn in pack.icons) { if (!IsIconLoaded(icn)) { tasks.Add(LoadIcon(icn)); } } bool success = true; try { Task.WaitAll(tasks.ToArray()); } catch (Exception) { success = false; } cbk.Call(new SciterValue(success)); }); }
protected override bool OnScriptCall(SciterElement se, string name, SciterValue[] args, out SciterValue result) { result = null; switch (name) { case "Host_DownloadFont": string savefolder = args[0].Get(""); string family = args[1].Get(""); SciterValue async_cbk = args[2]; string str = async_cbk.ToString(); Task.Run(() => { bool res; try { GAPI.DownloadFont(family, savefolder); res = true; } catch (Exception) { res = false; } App.AppHost.InvokePost(() => { async_cbk.Call(new SciterValue(res)); }); }); return(true); } return(false); }
private static void ScanTime(object state) { if (_scanning) { return; } _scanning = true; _collected_dirs.Clear(); int count = 0; foreach (var subdir in Directory.EnumerateDirectories(_rootdir)) { ScanDirectory(subdir); if (++count == 2) { break; } } // call joiner Joiner.Join(); var dirs = _collected_dirs.Keys.ToList(); var counts = _collected_dirs.Select(kv => kv.Value.Count).ToList(); _cbk.Call(SciterValue.FromList(dirs), SciterValue.FromList(counts)); _scanning = false; }
public bool Host_getShowData(SciterValue props, SciterValue whenCreated) { whenCreated.Call(props); return(true); }