// Token: 0x0600472C RID: 18220 RVA: 0x0010D1C8 File Offset: 0x0010B3C8 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { style.TextDecoration = global::dfMarkupTextDecoration.Underline; style = base.applyTextStyleAttributes(style); int i = 0; while (i < base.ChildNodes.Count) { global::dfMarkupElement dfMarkupElement = base.ChildNodes[i]; if (!(dfMarkupElement is global::dfMarkupString)) { goto IL_63; } global::dfMarkupString dfMarkupString = dfMarkupElement as global::dfMarkupString; if (!(dfMarkupString.Text == "\n")) { goto IL_63; } if (style.PreserveWhitespace) { container.AddLineBreak(); } IL_6B: i++; continue; IL_63: dfMarkupElement.PerformLayout(container, style); goto IL_6B; } }
// Token: 0x0600474B RID: 18251 RVA: 0x0010DB94 File Offset: 0x0010BD94 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { if (base.Owner == null) { Debug.LogError("Tag has no parent: " + this); return; } style = this.applyStyleAttributes(style); global::dfMarkupAttribute dfMarkupAttribute = base.findAttribute(new string[] { "src" }); if (dfMarkupAttribute == null) { return; } string value = dfMarkupAttribute.Value; global::dfMarkupBox dfMarkupBox = this.createImageBox(base.Owner.Atlas, value, style); if (dfMarkupBox == null) { return; } Vector2 size = Vector2.zero; global::dfMarkupAttribute dfMarkupAttribute2 = base.findAttribute(new string[] { "height" }); if (dfMarkupAttribute2 != null) { size.y = (float)global::dfMarkupStyle.ParseSize(dfMarkupAttribute2.Value, (int)dfMarkupBox.Size.y); } global::dfMarkupAttribute dfMarkupAttribute3 = base.findAttribute(new string[] { "width" }); if (dfMarkupAttribute3 != null) { size.x = (float)global::dfMarkupStyle.ParseSize(dfMarkupAttribute3.Value, (int)dfMarkupBox.Size.x); } if (size.sqrMagnitude <= 1.401298E-45f) { size = dfMarkupBox.Size; } else if (size.x <= 1.401298E-45f) { size.x = size.y * (dfMarkupBox.Size.x / dfMarkupBox.Size.y); } else if (size.y <= 1.401298E-45f) { size.y = size.x * (dfMarkupBox.Size.y / dfMarkupBox.Size.x); } dfMarkupBox.Size = size; dfMarkupBox.Baseline = (int)size.y; container.AddChild(dfMarkupBox); }
// Token: 0x060046A6 RID: 18086 RVA: 0x00109F40 File Offset: 0x00108140 public virtual Vector2 GetOffset() { Vector2 vector = Vector2.zero; for (global::dfMarkupBox dfMarkupBox = this; dfMarkupBox != null; dfMarkupBox = dfMarkupBox.Parent) { vector += dfMarkupBox.Position; } return(vector); }
// Token: 0x0600471F RID: 18207 RVA: 0x0010CC94 File Offset: 0x0010AE94 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { if (this.IsEndTag) { return; } for (int i = 0; i < base.ChildNodes.Count; i++) { base.ChildNodes[i].PerformLayout(container, style); } }
// 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: 0x06004742 RID: 18242 RVA: 0x0010D9D4 File Offset: 0x0010BBD4 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { style = base.applyTextStyleAttributes(style); if (style.FontStyle == null) { style.FontStyle = 2; } else if (style.FontStyle == 1) { style.FontStyle = 3; } base._PerformLayoutImpl(container, style); }
// Token: 0x060046AD RID: 18093 RVA: 0x0010A2A4 File Offset: 0x001084A4 private global::dfMarkupBox GetContainingBlock() { for (global::dfMarkupBox dfMarkupBox = this; dfMarkupBox != null; dfMarkupBox = dfMarkupBox.Parent) { global::dfMarkupDisplayType display = dfMarkupBox.Display; bool flag = display == global::dfMarkupDisplayType.block || display == global::dfMarkupDisplayType.inlineBlock || display == global::dfMarkupDisplayType.listItem || display == global::dfMarkupDisplayType.table || display == global::dfMarkupDisplayType.tableRow || display == global::dfMarkupDisplayType.tableCell; if (flag) { return(dfMarkupBox); } } return(null); }
// 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: 0x060046A8 RID: 18088 RVA: 0x0010A018 File Offset: 0x00108218 public virtual void AddChild(global::dfMarkupBox box) { global::dfMarkupDisplayType display = box.Display; bool flag = display == global::dfMarkupDisplayType.block || display == global::dfMarkupDisplayType.table || display == global::dfMarkupDisplayType.listItem || display == global::dfMarkupDisplayType.tableRow; if (flag) { this.addBlock(box); } else { this.addInline(box); } }
// Token: 0x06004738 RID: 18232 RVA: 0x0010D5FC File Offset: 0x0010B7FC protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { if (base.ChildNodes.Count == 0) { return; } style = base.applyTextStyleAttributes(style); int top = (container.Children.Count != 0) ? style.LineHeight : 0; global::dfMarkupBox dfMarkupBox; if (style.BackgroundColor.a > 0.005f) { global::dfMarkupBoxSprite dfMarkupBoxSprite = new global::dfMarkupBoxSprite(this, global::dfMarkupDisplayType.block, style); dfMarkupBoxSprite.Atlas = base.Owner.Atlas; dfMarkupBoxSprite.Source = base.Owner.BlankTextureSprite; dfMarkupBoxSprite.Style.Color = style.BackgroundColor; dfMarkupBox = dfMarkupBoxSprite; } else { dfMarkupBox = new global::dfMarkupBox(this, global::dfMarkupDisplayType.block, style); } dfMarkupBox.Margins = new global::dfMarkupBorders(0, 0, top, style.LineHeight); global::dfMarkupAttribute dfMarkupAttribute = base.findAttribute(new string[] { "margin" }); if (dfMarkupAttribute != null) { dfMarkupBox.Margins = global::dfMarkupBorders.Parse(dfMarkupAttribute.Value); } global::dfMarkupAttribute dfMarkupAttribute2 = base.findAttribute(new string[] { "padding" }); if (dfMarkupAttribute2 != null) { dfMarkupBox.Padding = global::dfMarkupBorders.Parse(dfMarkupAttribute2.Value); } container.AddChild(dfMarkupBox); base._PerformLayoutImpl(dfMarkupBox, style); if (dfMarkupBox.Children.Count > 0) { dfMarkupBox.Children[dfMarkupBox.Children.Count - 1].IsNewline = true; } dfMarkupBox.FitToContents(true); }
// Token: 0x0600478C RID: 18316 RVA: 0x0010EAB0 File Offset: 0x0010CCB0 private global::dfMarkupTag hitTestTag(global::dfMouseEventArgs args) { Vector2 point = base.GetHitPosition(args) + this.scrollPosition; global::dfMarkupBox dfMarkupBox = this.viewportBox.HitTest(point); if (dfMarkupBox != null) { global::dfMarkupElement dfMarkupElement = dfMarkupBox.Element; while (dfMarkupElement != null && !(dfMarkupElement is global::dfMarkupTag)) { dfMarkupElement = dfMarkupElement.Parent; } return(dfMarkupElement as global::dfMarkupTag); } return(null); }
// 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: 0x060046AC RID: 18092 RVA: 0x0010A214 File Offset: 0x00108414 public void FitToContents(bool recursive = false) { if (this.children.Count == 0) { this.Size = new Vector2(this.Size.x, 0f); return; } this.endCurrentLine(false); Vector2 vector = Vector2.zero; for (int i = 0; i < this.children.Count; i++) { global::dfMarkupBox dfMarkupBox = this.children[i]; vector = Vector2.Max(vector, dfMarkupBox.Position + dfMarkupBox.Size); } this.Size = vector; }
// Token: 0x06004745 RID: 18245 RVA: 0x0010DA3C File Offset: 0x0010BC3C protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { style = base.applyTextStyleAttributes(style); style.PreserveWhitespace = true; style.Preformatted = true; if (style.Align == global::dfMarkupTextAlign.Justify) { style.Align = global::dfMarkupTextAlign.Left; } global::dfMarkupBox dfMarkupBox; if (style.BackgroundColor.a > 0.1f) { global::dfMarkupBoxSprite dfMarkupBoxSprite = new global::dfMarkupBoxSprite(this, global::dfMarkupDisplayType.block, style); dfMarkupBoxSprite.LoadImage(base.Owner.Atlas, base.Owner.BlankTextureSprite); dfMarkupBoxSprite.Style.Color = style.BackgroundColor; dfMarkupBox = dfMarkupBoxSprite; } else { dfMarkupBox = new global::dfMarkupBox(this, global::dfMarkupDisplayType.block, style); } global::dfMarkupAttribute dfMarkupAttribute = base.findAttribute(new string[] { "margin" }); if (dfMarkupAttribute != null) { dfMarkupBox.Margins = global::dfMarkupBorders.Parse(dfMarkupAttribute.Value); } global::dfMarkupAttribute dfMarkupAttribute2 = base.findAttribute(new string[] { "padding" }); if (dfMarkupAttribute2 != null) { dfMarkupBox.Padding = global::dfMarkupBorders.Parse(dfMarkupAttribute2.Value); } container.AddChild(dfMarkupBox); base._PerformLayoutImpl(dfMarkupBox, style); dfMarkupBox.FitToContents(false); }
// Token: 0x060046A7 RID: 18087 RVA: 0x00109F78 File Offset: 0x00108178 internal void AddLineBreak() { if (this.currentLine != null) { this.currentLine.IsNewline = true; } int verticalPosition = this.getVerticalPosition(0); this.endCurrentLine(false); global::dfMarkupBox containingBlock = this.GetContainingBlock(); this.currentLine = new global::dfMarkupBox(this.Element, global::dfMarkupDisplayType.block, this.Style) { Size = new Vector2(containingBlock.Size.x, (float)this.Style.FontSize), Position = new Vector2(0f, (float)verticalPosition), Parent = this }; this.children.Add(this.currentLine); }
// Token: 0x06004750 RID: 18256 RVA: 0x0010DE58 File Offset: 0x0010C058 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { global::dfMarkupAttribute dfMarkupAttribute = base.findAttribute(new string[] { "name", "face" }); if (dfMarkupAttribute != null) { style.Font = (global::dfDynamicFont.FindByName(dfMarkupAttribute.Value) ?? style.Font); } global::dfMarkupAttribute dfMarkupAttribute2 = base.findAttribute(new string[] { "size", "font-size" }); if (dfMarkupAttribute2 != null) { style.FontSize = global::dfMarkupStyle.ParseSize(dfMarkupAttribute2.Value, style.FontSize); } global::dfMarkupAttribute dfMarkupAttribute3 = base.findAttribute(new string[] { "color" }); if (dfMarkupAttribute3 != null) { style.Color = global::dfMarkupStyle.ParseColor(dfMarkupAttribute3.Value, Color.red); style.Color.a = style.Opacity; } global::dfMarkupAttribute dfMarkupAttribute4 = base.findAttribute(new string[] { "style" }); if (dfMarkupAttribute4 != null) { style.FontStyle = global::dfMarkupStyle.ParseFontStyle(dfMarkupAttribute4.Value, style.FontStyle); } base._PerformLayoutImpl(container, style); }
// Token: 0x060046A4 RID: 18084 RVA: 0x00109E54 File Offset: 0x00108054 internal global::dfMarkupBox HitTest(Vector2 point) { Vector2 offset = this.GetOffset(); Vector2 vector = offset + this.Size; if (point.x < offset.x || point.x > vector.x || point.y < offset.y || point.y > vector.y) { return(null); } for (int i = 0; i < this.children.Count; i++) { global::dfMarkupBox dfMarkupBox = this.children[i].HitTest(point); if (dfMarkupBox != null) { return(dfMarkupBox); } } return(this); }
// Token: 0x060046B0 RID: 18096 RVA: 0x0010A628 File Offset: 0x00108828 private void addBlock(global::dfMarkupBox box) { if (this.currentLine != null) { this.currentLine.IsNewline = true; this.endCurrentLine(true); } global::dfMarkupBox containingBlock = this.GetContainingBlock(); if (box.Size.sqrMagnitude <= 1.401298E-45f) { box.Size = new Vector2(containingBlock.Size.x - (float)box.Margins.horizontal, (float)this.Style.FontSize); } int verticalPosition = this.getVerticalPosition(box.Margins.top); box.Position = new Vector2((float)box.Margins.left, (float)verticalPosition); this.Size = new Vector2(this.Size.x, Mathf.Max(this.Size.y, box.Position.y + box.Size.y)); box.Parent = this; this.children.Add(box); }
// Token: 0x06004731 RID: 18225 RVA: 0x0010D288 File Offset: 0x0010B488 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { if (base.ChildNodes.Count == 0) { return; } style.Align = global::dfMarkupTextAlign.Left; global::dfMarkupBox dfMarkupBox = new global::dfMarkupBox(this, global::dfMarkupDisplayType.block, style); container.AddChild(dfMarkupBox); this.calculateBulletWidth(style); for (int i = 0; i < base.ChildNodes.Count; i++) { global::dfMarkupTag dfMarkupTag = base.ChildNodes[i] as global::dfMarkupTag; if (dfMarkupTag != null && !(dfMarkupTag.TagName != "li")) { dfMarkupTag.PerformLayout(dfMarkupBox, style); } } dfMarkupBox.FitToContents(false); }
// Token: 0x0600473E RID: 18238 RVA: 0x0010D7E0 File Offset: 0x0010B9E0 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { global::dfMarkupBorders margins = default(global::dfMarkupBorders); global::dfMarkupStyle style2 = this.applyDefaultStyles(style, ref margins); style2 = base.applyTextStyleAttributes(style2); global::dfMarkupAttribute dfMarkupAttribute = base.findAttribute(new string[] { "margin" }); if (dfMarkupAttribute != null) { margins = global::dfMarkupBorders.Parse(dfMarkupAttribute.Value); } global::dfMarkupBox dfMarkupBox = new global::dfMarkupBox(this, global::dfMarkupDisplayType.block, style2); dfMarkupBox.Margins = margins; container.AddChild(dfMarkupBox); base._PerformLayoutImpl(dfMarkupBox, style2); dfMarkupBox.FitToContents(false); }
// Token: 0x060046AF RID: 18095 RVA: 0x0010A564 File Offset: 0x00108764 private int getVerticalPosition(int topMargin) { if (this.children.Count == 0) { return(topMargin); } int num = 0; int index = 0; for (int i = 0; i < this.children.Count; i++) { global::dfMarkupBox dfMarkupBox = this.children[i]; float num2 = dfMarkupBox.Position.y + dfMarkupBox.Size.y + (float)dfMarkupBox.Margins.bottom; if (num2 > (float)num) { num = (int)num2; index = i; } } global::dfMarkupBox dfMarkupBox2 = this.children[index]; int num3 = Mathf.Max(dfMarkupBox2.Margins.bottom, topMargin); return((int)(dfMarkupBox2.Position.y + dfMarkupBox2.Size.y + (float)num3)); }
// Token: 0x06004794 RID: 18324 RVA: 0x0010EEE0 File Offset: 0x0010D0E0 private void gatherRenderBuffers(global::dfMarkupBox box, global::dfList <global::dfRenderData> buffers) { global::dfIntersectionType viewportIntersection = this.getViewportIntersection(box); if (viewportIntersection == global::dfIntersectionType.None) { return; } global::dfRenderData dfRenderData = box.Render(); if (dfRenderData != null) { if (dfRenderData.Material == null && this.atlas != null) { dfRenderData.Material = this.atlas.Material; } float num = base.PixelsToUnits(); Vector2 vector = -this.scrollPosition.Scale(1f, -1f).RoundToInt(); Vector3 vector2 = vector + box.GetOffset().Scale(1f, -1f) + this.pivot.TransformToUpperLeft(base.Size); global::dfList <Vector3> vertices = dfRenderData.Vertices; Matrix4x4 localToWorldMatrix = base.transform.localToWorldMatrix; for (int i = 0; i < dfRenderData.Vertices.Count; i++) { vertices[i] = localToWorldMatrix.MultiplyPoint((vector2 + vertices[i]) * num); } if (viewportIntersection == global::dfIntersectionType.Intersecting) { this.clipToViewport(dfRenderData); } buffers.Add(dfRenderData); } for (int j = 0; j < box.Children.Count; j++) { this.gatherRenderBuffers(box.Children[j], buffers); } }
// Token: 0x06004795 RID: 18325 RVA: 0x0010F040 File Offset: 0x0010D240 private global::dfIntersectionType getViewportIntersection(global::dfMarkupBox box) { if (box.Display == global::dfMarkupDisplayType.none) { return(global::dfIntersectionType.None); } Vector2 size = base.Size; Vector2 vector = box.GetOffset() - this.scrollPosition; Vector2 vector2 = vector + box.Size; if (vector2.x <= 0f || vector2.y <= 0f) { return(global::dfIntersectionType.None); } if (vector.x >= size.x || vector.y >= size.y) { return(global::dfIntersectionType.None); } if (vector.x < 0f || vector.y < 0f || vector2.x > size.x || vector2.y > size.y) { return(global::dfIntersectionType.Intersecting); } return(global::dfIntersectionType.Inside); }
// Token: 0x06004748 RID: 18248 RVA: 0x0010DB68 File Offset: 0x0010BD68 protected override void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style) { container.AddLineBreak(); }
// Token: 0x060046DF RID: 18143 protected abstract void _PerformLayoutImpl(global::dfMarkupBox container, global::dfMarkupStyle style);
// Token: 0x060046B2 RID: 18098 RVA: 0x0010A784 File Offset: 0x00108984 private void doVerticalAlignment() { if (this.children.Count == 0) { return; } float num = float.MinValue; float num2 = float.MaxValue; float num3 = float.MinValue; this.Baseline = (int)(this.Size.y * 0.95f); for (int i = 0; i < this.children.Count; i++) { global::dfMarkupBox dfMarkupBox = this.children[i]; num3 = Mathf.Max(num3, dfMarkupBox.Position.y + (float)dfMarkupBox.Baseline); } for (int j = 0; j < this.children.Count; j++) { global::dfMarkupBox dfMarkupBox2 = this.children[j]; global::dfMarkupVerticalAlign verticalAlign = dfMarkupBox2.Style.VerticalAlign; Vector2 position = dfMarkupBox2.Position; if (verticalAlign == global::dfMarkupVerticalAlign.Baseline) { position.y = num3 - (float)dfMarkupBox2.Baseline; } dfMarkupBox2.Position = position; } for (int k = 0; k < this.children.Count; k++) { global::dfMarkupBox dfMarkupBox3 = this.children[k]; Vector2 position2 = dfMarkupBox3.Position; Vector2 size = dfMarkupBox3.Size; num2 = Mathf.Min(num2, position2.y); num = Mathf.Max(num, position2.y + size.y); } for (int l = 0; l < this.children.Count; l++) { global::dfMarkupBox dfMarkupBox4 = this.children[l]; global::dfMarkupVerticalAlign verticalAlign2 = dfMarkupBox4.Style.VerticalAlign; Vector2 position3 = dfMarkupBox4.Position; Vector2 size2 = dfMarkupBox4.Size; if (verticalAlign2 == global::dfMarkupVerticalAlign.Top) { position3.y = num2; } else if (verticalAlign2 == global::dfMarkupVerticalAlign.Bottom) { position3.y = num - size2.y; } else if (verticalAlign2 == global::dfMarkupVerticalAlign.Middle) { position3.y = (this.Size.y - size2.y) * 0.5f; } dfMarkupBox4.Position = position3; } int num4 = int.MaxValue; for (int m = 0; m < this.children.Count; m++) { num4 = Mathf.Min(num4, (int)this.children[m].Position.y); } for (int n = 0; n < this.children.Count; n++) { Vector2 position4 = this.children[n].Position; position4.y -= (float)num4; this.children[n].Position = position4; } }
// Token: 0x060046DD RID: 18141 RVA: 0x0010BA84 File Offset: 0x00109C84 public void PerformLayout(global::dfMarkupBox container, global::dfMarkupStyle style) { this._PerformLayoutImpl(container, 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; } }