AlphaTab.Environment.CheckFontLoad C# (CSharp) Метод

CheckFontLoad() приватный статический Метод

private static CheckFontLoad ( ) : void
Результат void
        private static void CheckFontLoad()
        {
            var isWorker = JsContext.JsCode("typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope").As<bool>();
            if (isWorker)
            {
                // no web fonts in web worker
                IsFontLoaded = false;
                return;
            }

            var cssFontLoadingModuleSupported = JsContext.JsCode("!!document.fonts && !!document.fonts.load").As<bool>();
            if (cssFontLoadingModuleSupported)
            {
                // ReSharper disable once UnusedVariable
                JsFunc<bool> onLoaded = () =>
                {
                    IsFontLoaded = true;
                    return true;
                };
                JsContext.JsCode("document.fonts.load('1em alphaTab').then(onLoaded)");
            }
            else
            {
                Action checkFont = null;
                checkFont = () =>
                {
                    var testItem = HtmlContext.document.getElementById("alphaTabFontChecker").As<HtmlDivElement>();

                    if (testItem == null)
                    {
                        // create a hidden element with the font style set
                        testItem = HtmlContext.document.createElement("div").As<HtmlDivElement>();
                        testItem.setAttribute("id", "alphaTabFontChecker");
                        testItem.style.opacity = "0";
                        testItem.style.position = "absolute";
                        testItem.style.left = "0";
                        testItem.style.top = "0";
                        testItem.classList.add("at");
                        testItem.innerHTML = "&#" + (int)MusicFontSymbol.ClefG + ";";

                        HtmlContext.document.body.appendChild(testItem);
                    }

                    // get width
                    var width = testItem.offsetWidth;
                    if (width > 30)
                    {
                        IsFontLoaded = true;
                        HtmlContext.document.body.removeChild(testItem);
                    }
                    else
                    {
                        HtmlContext.window.setTimeout(() => {
                            checkFont();
                        }, 1000);
                    }
                };
                HtmlContext.window.addEventListener("DOMContentLoaded", e =>
                {
                    checkFont();
                });
            }
        }