// 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); }
// 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); }
// 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)); }
// 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; } }