Esempio n. 1
0
        protected internal override Vector2 DoMeasure(float width, VisualElement.MeasureMode widthMode, float height, VisualElement.MeasureMode heightMode)
        {
            float   num  = float.NaN;
            float   num2 = float.NaN;
            Font    font = base.style.font;
            Vector2 result;

            if (this.text == null || font == null)
            {
                result = new Vector2(num, num2);
            }
            else
            {
                IStylePainter stylePainter = base.elementPanel.stylePainter;
                if (widthMode == VisualElement.MeasureMode.Exactly)
                {
                    num = width;
                }
                else
                {
                    TextStylePainterParameters defaultTextParameters = stylePainter.GetDefaultTextParameters(this);
                    defaultTextParameters.text          = this.text;
                    defaultTextParameters.font          = font;
                    defaultTextParameters.wordWrapWidth = 0f;
                    defaultTextParameters.wordWrap      = false;
                    defaultTextParameters.richText      = true;
                    num = stylePainter.ComputeTextWidth(defaultTextParameters);
                    if (widthMode == VisualElement.MeasureMode.AtMost)
                    {
                        num = Mathf.Min(num, width);
                    }
                }
                if (heightMode == VisualElement.MeasureMode.Exactly)
                {
                    num2 = height;
                }
                else
                {
                    TextStylePainterParameters defaultTextParameters2 = stylePainter.GetDefaultTextParameters(this);
                    defaultTextParameters2.text          = this.text;
                    defaultTextParameters2.font          = font;
                    defaultTextParameters2.wordWrapWidth = num;
                    defaultTextParameters2.richText      = true;
                    num2 = stylePainter.ComputeTextHeight(defaultTextParameters2);
                    if (heightMode == VisualElement.MeasureMode.AtMost)
                    {
                        num2 = Mathf.Min(num2, height);
                    }
                }
                result = new Vector2(num, num2);
            }
            return(result);
        }