public void Invalidate() { if (Settings.Width == 0) { Logger.Warning("Rendering", "AlphaTab skipped rendering because of width=0 (element invisible)"); return; } BoundsLookup = new BoundsLookup(); if (Tracks.Length == 0) { return; } RecreateCanvas(); if (RenderingResources.Scale != Settings.Scale) { RenderingResources.Init(Settings.Scale); Canvas.LineWidth = Settings.Scale; } Canvas.Resources = RenderingResources; OnPreRender(); RecreateLayout(); LayoutAndRender(); _renderedTracks = Tracks; Logger.Info("Rendering", "Rendering finished"); }
private void HandleWorkerMessage(DOMEvent e) { var data = e.As <MessageEvent>().data; var cmd = data.Member("cmd").As <string>(); switch (cmd) { case "alphaTab.preRender": OnPreRender(data.Member("result").As <RenderFinishedEventArgs>()); break; case "alphaTab.partialRenderFinished": OnPartialRenderFinished(data.Member("result").As <RenderFinishedEventArgs>()); break; case "alphaTab.renderFinished": OnRenderFinished(data.Member("result").As <RenderFinishedEventArgs>()); break; case "alphaTab.postRenderFinished": BoundsLookup = BoundsLookup.FromJson(data.Member("boundsLookup"), _api.Score); OnPostRenderFinished(); break; case "alphaTab.error": OnError(data.Member("type").As <string>(), data.Member("detail").As <Exception>()); break; } }
private void HandleWorkerMessage(Event e) { var data = ((MessageEvent)e).Data; string cmd = data.cmd; switch (cmd) { case "alphaTab.preRender": OnPreRender(data.result); break; case "alphaTab.partialRenderFinished": OnPartialRenderFinished(data.result); break; case "alphaTab.renderFinished": OnRenderFinished(data.result); break; case "alphaTab.postRenderFinished": BoundsLookup = BoundsLookup.FromJson(data.boundsLookup, _api.Score); OnPostRenderFinished(); break; case "alphaTab.error": OnError(data.type, data.detail); break; } }
private void HandleWorkerMessage(DOMEvent e) { var data = e.As<MessageEvent>().data; var cmd = data.Member("cmd").As<string>(); switch (cmd) { case "alphaTab.preRender": OnPreRender(data.Member("result").As<RenderFinishedEventArgs>()); break; case "alphaTab.partialRenderFinished": OnPartialRenderFinished(data.Member("result").As<RenderFinishedEventArgs>()); break; case "alphaTab.renderFinished": OnRenderFinished(data.Member("result").As<RenderFinishedEventArgs>()); break; case "alphaTab.postRenderFinished": BoundsLookup = BoundsLookup.FromJson(data.Member("boundsLookup"), Score); OnPostRenderFinished(); break; case "alphaTab.error": console.error(data.Member("exception")); break; case "alphaTab.loaded": var score = data.Member("score").As<Score>(); if (score.As<bool>()) { var jsonConverter = new JsonConverter(); score = jsonConverter.JsObjectToScore(score); } Score = score; OnLoaded(score); break; } }
public void Destroy() { Score = null; Canvas = null; Layout = null; RenderingResources = null; Settings = null; BoundsLookup = null; Tracks = null; }
public void Invalidate() { BoundsLookup = new BoundsLookup(); if (Tracks.Length == 0) { return; } if (RenderingResources.Scale != Settings.Scale) { RenderingResources.Init(Settings.Scale); Canvas.LineWidth = Settings.Scale; } Canvas.Resources = RenderingResources; OnPreRender(); RecreateLayout(); LayoutAndRender(); }
public void Resize(int width) { if (RecreateLayout() || RecreateCanvas() || _renderedTracks != Tracks || Tracks == null) { Logger.Info("Rendering", "Starting full rerendering due to layout or canvas change"); Invalidate(); } else if (Layout.SupportsResize) { Logger.Info("Rendering", "Starting optimized rerendering for resize"); BoundsLookup = new BoundsLookup(); OnPreRender(); Settings.Width = width; Layout.Resize(); Layout.RenderAnnotation(); OnRenderFinished(); OnPostRender(); } else { Logger.Warning("Rendering", "Current layout does not support dynamic resizing, nothing was done"); } Logger.Info("Rendering", "Resize finished"); }
void Start() { Instance = this; }
private void OnPostFinished(BoundsLookup boundsLookup) { BoundsLookup = boundsLookup; OnPostRenderFinished(); }