internal static TabCollection smethod_0(BinaryReader A_0, TabCollection A_1, bool A_2) { int num = A_0.ReadByte(); int[] numArray = new int[num]; for (int i = 0; i < num; i++) { numArray[i] = A_0.ReadInt16(); } int[] numArray3 = null; if (A_2) { numArray3 = new int[num]; for (int n = 0; n < num; n++) { numArray3[n] = A_0.ReadInt16(); } } for (int j = 0; j < num; j++) { Tab tab2 = new Tab(A_1.Document, ((float)numArray[j]) / 20f, TabJustification.Clear, TabLeader.NoLeader) { DeletePosition = numArray[j], Position = 0f }; A_1.method_6(tab2); } int num6 = A_0.ReadByte(); int[] numArray2 = new int[num6]; for (int k = 0; k < num6; k++) { numArray2[k] = A_0.ReadInt16(); } byte[] buffer = new byte[num6]; Stream baseStream = A_0.BaseStream; int num8 = (int)(baseStream.Length - baseStream.Position); baseStream.Read(buffer, 0, Math.Min(num6, num8)); for (int m = 0; m < num6; m++) { if ((m > 0) && (numArray2[m] <= numArray2[m - 1])) { return(A_1); } Tab tab = A_1.AddTab(((float)numArray2[m]) / 20f, ((TabJustification)buffer[m]) & TabJustification.Clear, (TabLeader)((buffer[m] & 0x38) >> 3)); if (tab.Justification == (TabJustification.Bar | TabJustification.Centered)) { tab.Justification = TabJustification.Left; } tab.Undocumented40 = (buffer[m] & 0x40) != 0; } return(A_1); }
internal static void smethod_5(Class394 A_0, ParagraphFormat A_1) { int num = 0x10; TabCollection tabs = A_1.Tabs; while (A_0.method_9(BookmarkStart.b("䈵夷堹伻", num))) { string str2; if (((str2 = A_0.method_1()) == null) || !(str2 == BookmarkStart.b("䈵夷堹", num))) { continue; } Tab tab = null; TabJustification clear = TabJustification.Clear; TabLeader noLeader = TabLeader.NoLeader; while (A_0.method_19()) { string str = A_0.method_1(); if (str == null) { continue; } if (str == BookmarkStart.b("䀵夷嘹", num)) { goto Label_013E; } if (str == BookmarkStart.b("娵崷嬹堻嬽㈿", num)) { goto Label_012F; } if (!(str == BookmarkStart.b("䘵圷䤹", num))) { continue; } float num2 = A_0.method_62(); if (num2 == float.MaxValue) { continue; } using (IEnumerator enumerator = tabs.GetEnumerator()) { Tab current; while (enumerator.MoveNext()) { current = (Tab)enumerator.Current; if (current.Position == num2) { goto Label_00DB; } } goto Label_00F5; Label_00DB: tab = current; } Label_00F5: if (tab == null) { tab = tabs.AddTab(); } if (clear == TabJustification.Clear) { tab.Justification = TabJustification.Left; tab.DeletePosition = num2 * 20f; tab.Position = 0f; } else { tab.Position = num2; } continue; Label_012F: noLeader = Class248.smethod_20(A_0.method_3()); continue; Label_013E: A_0.method_3(); clear = Class248.smethod_22(A_0.method_3()); } if (clear != TabJustification.Clear) { tab.Justification = clear; } tab.TabLeader = noLeader; } }