// 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: 0x0600473F RID: 18239 RVA: 0x0010D854 File Offset: 0x0010BA54 private global::dfMarkupStyle applyDefaultStyles(global::dfMarkupStyle style, ref global::dfMarkupBorders margins) { float num = 1f; float num2 = 1f; string tagName = base.TagName; switch (tagName) { case "h1": num2 = 2f; num = 0.65f; break; case "h2": num2 = 1.5f; num = 0.75f; break; case "h3": num2 = 1.35f; num = 0.85f; break; case "h4": num2 = 1.15f; num = 0f; break; case "h5": num2 = 0.85f; num = 1.5f; break; case "h6": num2 = 0.75f; num = 1.75f; break; } style.FontSize = (int)((float)style.FontSize * num2); style.FontStyle = 1; style.Align = global::dfMarkupTextAlign.Left; num *= (float)style.FontSize; int top = margins.bottom = (int)num; margins.top = top; return(style); }
// Token: 0x06004703 RID: 18179 RVA: 0x0010C474 File Offset: 0x0010A674 public static global::dfMarkupBorders Parse(string value) { global::dfMarkupBorders result = default(global::dfMarkupBorders); value = Regex.Replace(value, "\\s+", " "); string[] array = value.Split(new char[] { ' ' }); if (array.Length == 1) { int num = global::dfMarkupStyle.ParseSize(value, 0); result.left = (result.right = num); result.top = (result.bottom = num); } else if (array.Length == 2) { int num2 = global::dfMarkupStyle.ParseSize(array[0], 0); result.top = (result.bottom = num2); int num3 = global::dfMarkupStyle.ParseSize(array[1], 0); result.left = (result.right = num3); } else if (array.Length == 3) { int num4 = global::dfMarkupStyle.ParseSize(array[0], 0); result.top = num4; int num5 = global::dfMarkupStyle.ParseSize(array[1], 0); result.left = (result.right = num5); int num6 = global::dfMarkupStyle.ParseSize(array[2], 0); result.bottom = num6; } else if (array.Length == 4) { int num7 = global::dfMarkupStyle.ParseSize(array[0], 0); result.top = num7; int num8 = global::dfMarkupStyle.ParseSize(array[1], 0); result.right = num8; int num9 = global::dfMarkupStyle.ParseSize(array[2], 0); result.bottom = num9; int num10 = global::dfMarkupStyle.ParseSize(array[3], 0); result.left = num10; } return(result); }
// 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); }