Esempio n. 1
0
    // Token: 0x060046E7 RID: 18151 RVA: 0x0010BC34 File Offset: 0x00109E34
    protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style)
    {
        if (style.Font == null)
        {
            return;
        }
        string text = (!style.PreserveWhitespace && this.isWhitespace) ? " " : this.Text;
        global::dfMarkupBoxText dfMarkupBoxText = global::dfMarkupBoxText.Obtain(this, global::dfMarkupDisplayType.inline, style);

        dfMarkupBoxText.SetText(text);
        container.AddChild(dfMarkupBoxText);
    }
Esempio n. 2
0
    // Token: 0x06004735 RID: 18229 RVA: 0x0010D434 File Offset: 0x0010B634
    protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style)
    {
        if (base.ChildNodes.Count == 0)
        {
            return;
        }
        float x = container.Size.x;
        global::dfMarkupBox dfMarkupBox = new global::dfMarkupBox(this, global::dfMarkupDisplayType.listItem, style);

        dfMarkupBox.Margins.top = 10;
        container.AddChild(dfMarkupBox);
        global::dfMarkupTagList dfMarkupTagList = base.Parent as global::dfMarkupTagList;

        if (dfMarkupTagList == null)
        {
            base._PerformLayoutImpl(container, style);
            return;
        }
        style.VerticalAlign = global::dfMarkupVerticalAlign.Baseline;
        string text = "•";

        if (dfMarkupTagList.TagName == "ol")
        {
            text = container.Children.Count + ".";
        }
        global::dfMarkupStyle style2 = style;

        style2.VerticalAlign = global::dfMarkupVerticalAlign.Baseline;
        style2.Align         = global::dfMarkupTextAlign.Right;
        global::dfMarkupBoxText dfMarkupBoxText = global::dfMarkupBoxText.Obtain(this, global::dfMarkupDisplayType.inlineBlock, style2);

        dfMarkupBoxText.SetText(text);
        dfMarkupBoxText.Width        = dfMarkupTagList.BulletWidth;
        dfMarkupBoxText.Margins.left = style.FontSize * 2;
        dfMarkupBox.AddChild(dfMarkupBoxText);
        global::dfMarkupBox dfMarkupBox2 = new global::dfMarkupBox(this, global::dfMarkupDisplayType.inlineBlock, style);
        int   fontSize = style.FontSize;
        float num      = x - dfMarkupBoxText.Size.x - (float)dfMarkupBoxText.Margins.left - (float)fontSize;

        dfMarkupBox2.Size         = new Vector2(num, (float)fontSize);
        dfMarkupBox2.Margins.left = (int)((float)style.FontSize * 0.5f);
        dfMarkupBox.AddChild(dfMarkupBox2);
        for (int i = 0; i < base.ChildNodes.Count; i++)
        {
            base.ChildNodes[i].PerformLayout(dfMarkupBox2, style);
        }
        dfMarkupBox2.FitToContents(false);
        dfMarkupBox2.Parent.FitToContents(false);
        dfMarkupBox.FitToContents(false);
    }
Esempio n. 3
0
    // Token: 0x060046AE RID: 18094 RVA: 0x0010A304 File Offset: 0x00108504
    private void addInline(global::dfMarkupBox box)
    {
        global::dfMarkupBorders margins = box.Margins;
        bool flag = !this.Style.Preformatted && this.currentLine != null && (float)this.currentLinePos + box.Size.x > this.currentLine.Size.x;

        if (this.currentLine == null || flag)
        {
            this.endCurrentLine(false);
            int verticalPosition = this.getVerticalPosition(margins.top);
            global::dfMarkupBox containingBlock = this.GetContainingBlock();
            if (containingBlock == null)
            {
                Debug.LogError("Containing block not found");
                return;
            }
            global::dfDynamicFont dfDynamicFont = this.Style.Font ?? this.Style.Host.Font;
            float num  = (float)dfDynamicFont.FontSize / (float)dfDynamicFont.FontSize;
            float num2 = (float)dfDynamicFont.Baseline * num;
            this.currentLine = new global::dfMarkupBox(this.Element, global::dfMarkupDisplayType.block, this.Style)
            {
                Size     = new Vector2(containingBlock.Size.x, (float)this.Style.LineHeight),
                Position = new Vector2(0f, (float)verticalPosition),
                Parent   = this,
                Baseline = (int)num2
            };
            this.children.Add(this.currentLine);
        }
        if (this.currentLinePos == 0 && !box.Style.PreserveWhitespace && box is global::dfMarkupBoxText)
        {
            global::dfMarkupBoxText dfMarkupBoxText = box as global::dfMarkupBoxText;
            if (dfMarkupBoxText.IsWhitespace)
            {
                return;
            }
        }
        Vector2 position;

        position..ctor((float)(this.currentLinePos + margins.left), (float)margins.top);
        box.Position = position;
        box.Parent   = this.currentLine;
        this.currentLine.children.Add(box);
        this.currentLinePos = (int)(position.x + box.Size.x + (float)box.Margins.right);
        float num3 = Mathf.Max(this.currentLine.Size.x, position.x + box.Size.x);
        float num4 = Mathf.Max(this.currentLine.Size.y, position.y + box.Size.y);

        this.currentLine.Size = new Vector2(num3, num4);
    }
 // Token: 0x060046CA RID: 18122 RVA: 0x0010B30C File Offset: 0x0010950C
 public static global::dfMarkupBoxText Obtain(global::dfMarkupElement element, global::dfMarkupDisplayType display, global::dfMarkupStyle style)
 {
     if (global::dfMarkupBoxText.objectPool.Count > 0)
     {
         global::dfMarkupBoxText dfMarkupBoxText = global::dfMarkupBoxText.objectPool.Dequeue();
         dfMarkupBoxText.Element  = element;
         dfMarkupBoxText.Display  = display;
         dfMarkupBoxText.Style    = style;
         dfMarkupBoxText.Position = Vector2.zero;
         dfMarkupBoxText.Size     = Vector2.zero;
         dfMarkupBoxText.Baseline = (int)((float)style.FontSize * 1.1f);
         dfMarkupBoxText.Margins  = default(global::dfMarkupBorders);
         dfMarkupBoxText.Padding  = default(global::dfMarkupBorders);
         return(dfMarkupBoxText);
     }
     return(new global::dfMarkupBoxText(element, display, style));
 }
Esempio n. 5
0
    // Token: 0x060046B3 RID: 18099 RVA: 0x0010AA34 File Offset: 0x00108C34
    private void doHorizontalAlignment()
    {
        if (this.Style.Align == global::dfMarkupTextAlign.Left || this.children.Count == 0)
        {
            return;
        }
        int i;

        for (i = this.children.Count - 1; i > 0; i--)
        {
            global::dfMarkupBoxText dfMarkupBoxText = this.children[i] as global::dfMarkupBoxText;
            if (dfMarkupBoxText == null || !dfMarkupBoxText.IsWhitespace)
            {
                break;
            }
        }
        if (this.Style.Align == global::dfMarkupTextAlign.Center)
        {
            float num = 0f;
            for (int j = 0; j <= i; j++)
            {
                num += this.children[j].Size.x;
            }
            float num2 = (this.Size.x - (float)this.Padding.horizontal - num) * 0.5f;
            for (int k = 0; k <= i; k++)
            {
                Vector2 position = this.children[k].Position;
                position.x += num2;
                this.children[k].Position = position;
            }
        }
        else if (this.Style.Align == global::dfMarkupTextAlign.Right)
        {
            float num3 = this.Size.x - (float)this.Padding.horizontal;
            for (int l = i; l >= 0; l--)
            {
                Vector2 position2 = this.children[l].Position;
                position2.x = num3 - this.children[l].Size.x;
                this.children[l].Position = position2;
                num3 -= this.children[l].Size.x;
            }
        }
        else
        {
            if (this.Style.Align != global::dfMarkupTextAlign.Justify)
            {
                throw new NotImplementedException("text-align: " + this.Style.Align + " is not implemented");
            }
            if (this.children.Count <= 1)
            {
                return;
            }
            if (this.IsNewline || this.children[this.children.Count - 1].IsNewline)
            {
                return;
            }
            float num4 = 0f;
            for (int m = 0; m <= i; m++)
            {
                global::dfMarkupBox dfMarkupBox = this.children[m];
                num4 = Mathf.Max(num4, dfMarkupBox.Position.x + dfMarkupBox.Size.x);
            }
            float num5 = (this.Size.x - (float)this.Padding.horizontal - num4) / (float)this.children.Count;
            for (int n = 1; n <= i; n++)
            {
                this.children[n].Position += new Vector2((float)n * num5, 0f);
            }
            global::dfMarkupBox dfMarkupBox2 = this.children[i];
            Vector2             position3    = dfMarkupBox2.Position;
            position3.x           = this.Size.x - (float)this.Padding.horizontal - dfMarkupBox2.Size.x;
            dfMarkupBox2.Position = position3;
        }
    }