From 9fbcc804d5726e9179cbbb8317dfb4202a9db2df Mon Sep 17 00:00:00 2001 From: LarsBrubaker Date: Mon, 8 Apr 2019 08:20:49 -0700 Subject: [PATCH] Don't load image data in markdown until it is drawn --- .../Inlines/AggLinkInlineRenderer.cs | 36 +++++++++---------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/MatterControlLib/Utilities/MarkdigAgg/Inlines/AggLinkInlineRenderer.cs b/MatterControlLib/Utilities/MarkdigAgg/Inlines/AggLinkInlineRenderer.cs index 99de8e660..9650f4f2a 100644 --- a/MatterControlLib/Utilities/MarkdigAgg/Inlines/AggLinkInlineRenderer.cs +++ b/MatterControlLib/Utilities/MarkdigAgg/Inlines/AggLinkInlineRenderer.cs @@ -77,34 +77,30 @@ namespace Markdig.Renderers.Agg.Inlines this.Url = url; - bool showAnimations = true; - if (showAnimations) - { - var imageSequence = new ImageSequence(icon); - //var sequenceWidget = new ImageSequenceWidget(imageSequence); - var sequenceWidget = new ResponsiveImageSequenceWidget(imageSequence); - this.AddChild(sequenceWidget); + imageSequence = new ImageSequence(icon); + //var sequenceWidget = new ImageSequenceWidget(imageSequence); + var sequenceWidget = new ResponsiveImageSequenceWidget(imageSequence); + this.AddChild(sequenceWidget); + } - if (url.StartsWith("http")) - { - WebCache.RetrieveImageSquenceAsync(imageSequence, url); - } - } - else + public override void OnDraw(Graphics2D graphics2D) + { + if(!hasBeenLoaded) { - var imageBuffer = new ImageBuffer(icon); - //var imageWidget = new ImageWidget(imageBuffer); - var imageWidget = new ResponsiveImageWidget(imageBuffer); - this.AddChild(imageWidget); - - if (url.StartsWith("http")) + if (Url.StartsWith("http")) { - WebCache.RetrieveImageAsync(imageBuffer, url, false); + WebCache.RetrieveImageSquenceAsync(imageSequence, Url); } + + hasBeenLoaded = true; } + base.OnDraw(graphics2D); } public string Url { get; } + + private ImageSequence imageSequence; + private bool hasBeenLoaded; } public class ImageLinkAdvancedX : FlowLayoutWidget