Esempio n. 1
0
        Span[] RenderAutolink(AutolinkInline autolink, float fontSize, float lineHeight, string fontFamily)
        {
            var url = autolink.Url;

            if (TryLoadYouTubePreview(url, out var youtubePreview))
            {
                queuedViews.Add(youtubePreview);
                return(new Span[0]);
            }

            if (autolink.IsEmail && !url.ToLower().StartsWith("mailto:"))
            {
                url = $"mailto:{url}";
            }

            links.Add(new KeyValuePair <string, string>(autolink.Url, url));

            var styles = Theme.Link;

            return(new[] {
                new Span
                {
                    Text = autolink.Url,
                    FontAttributes = styles.Attributes,
                    TextDecorations = styles.TextDecorations,
                    ForegroundColor = styles.ForegroundColor,
                    BackgroundColor = styles.BackgroundColor,
                    FontSize = fontSize,
                    FontFamily = Theme.Link.FontFamily ?? fontFamily,
                    LineHeight = lineHeight,
                }
            });
        }
 public void Setup()
 {
     document = new Document();
     // Workaround for a quirk in the migradoc API.
     _            = document.AddSection().Elements;
     pdfBuilder   = new PdfBuilder(document, PdfOptions.Default);
     renderer     = new AutolinkInlineRenderer();
     autolink     = new AutolinkInline();
     autolink.Url = sampleUri = "theurl";
 }
Esempio n. 3
0
 public OsuMarkdownLinkText(AutolinkInline autolinkInline)
     : base(autolinkInline)
 {
     text = autolinkInline.Url;
 }
Esempio n. 4
0
 protected override void AddAutoLink(AutolinkInline autolinkInline)
 => AddDrawable(new OsuMarkdownLinkText(autolinkInline));
 protected virtual void AddAutoLink(AutolinkInline autolinkInline)
 => AddDrawable(new MarkdownLinkText(autolinkInline));
 public MarkdownLinkText(AutolinkInline autolinkInline)
     : this(autolinkInline.Url, autolinkInline.Url)
 {
 }
Esempio n. 7
0
 private bool TryAutoLinkInlineRenderer(HtmlRenderer renderer, AutolinkInline autolinkInline)
 {
     TryAddTarget(autolinkInline.Url, autolinkInline);
     return(false);
 }