Exemplo n.º 1
0
        void LoadImage(string url)
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();
            NetworkImage       networkImage     = new NetworkImage(url, headers: headers);
            ImageConfiguration imageConfig      = new ImageConfiguration();

            this._stream = networkImage.resolve(imageConfig);
        }
Exemplo n.º 2
0
            private Widget BuildTextUsingMixedContent(
                BuildContext context,
                IEnumerable <MixedContent> summary)
            {
                if (summary is null)
                {
                    return(new Container());
                }

                var version = DocApp.of(context).version;

                return(new SelectableWealthyText(
                           textSpanList: summary.Select(item =>
                {
                    switch (item)
                    {
                    case DocumentCharData charData:
                        return new TextSpan(charData.content);

                    case DocumentTagLink link:
                        return new TextSpan(
                            link.content,
                            style: HyperLinkStyle,
                            recognizer: new TapGestureRecognizer
                        {
                            onTap = () => LocationUtil.Go(link.@ref),
                        }
                            );

                    case DocumentTagBreak br:
                        return new TextSpan("\n");

                    case DocumentTagBold bold:
                        return new TextSpan(
                            bold.content,
                            style: new TextStyle(
                                fontWeight: FontWeight.w500
                                )
                            );

                    case DocumentTagImage image:
                        var networkImage =
                            new NetworkImage(
                                $"{Configuration.Instance.cdnPrefix}/{version.unityVersion}/{version.parsedVersion}/scripting/static/{image.name.Replace('-', '_')}");
                        networkImage.resolve(new ImageConfiguration());
                        return new ImageSpan(
                            networkImage,
                            margin: EdgeInsets.symmetric(vertical: 16f),
                            imageWidth: _imageMetas[image.name].width,
                            imageHeight: _imageMetas[image.name].height
                            );

                    case DocumentTagItalic italic:
                        return new TextSpan(
                            italic.content,
                            style: new TextStyle(
                                fontStyle: FontStyle.italic
                                )
                            );
                    }

                    return null;
                }).Where(span => span != null).ToList(),
                           style: NormalTextStyle
                           ));
            }