示例#1
0
 public MessageEmbed(
     Unity.Messenger.Models.Message message,
     Action <TapUpDetails, string> onClickUrl,
     Key key = null
     ) : base(key: key)
 {
     this.message    = message;
     this.onClickUrl = onClickUrl;
 }
示例#2
0
        public static float CalculateTextHeight(Unity.Messenger.Models.Message message, float width)
        {
            if (message == null || message.embeds.isEmpty())
            {
                return(0);
            }

            var innerWidth = width - 2 * 6;
            var embedData  = message.embeds[0].embedData;

            var textPainter = new TextPainter(
                textDirection: TextDirection.ltr,
                text: new TextSpan(
                    text: embedData.title,
                    style: _embedTitleStyle
                    )
                );

            textPainter.layout(maxWidth: innerWidth);
            var embedDataTitleHeight = textPainter.getLineCount() * 23;

            textPainter = new TextPainter(
                textDirection: TextDirection.ltr,
                text: new TextSpan(
                    text: embedData.description,
                    style: _embedDescriptionStyle
                    )
                );
            textPainter.layout(maxWidth: innerWidth);
            var embedDescriptionHeight = textPainter.getLineCount() * 23;

            float embedNameHeight;

            if (embedData.image.isEmpty() && embedData.name.isEmpty())
            {
                embedNameHeight = 0;
            }
            else
            {
                embedNameHeight = 23;
            }

            var descriptionHeight = embedDataTitleHeight + 4 + embedDescriptionHeight + 4 + embedNameHeight;

            return(descriptionHeight + 24);
        }