// Token: 0x06006502 RID: 25858 RVA: 0x001C5614 File Offset: 0x001C3814 internal static void DumpDocumentPage(XmlTextWriter writer, DocumentPage page, Visual parent) { writer.WriteStartElement("DocumentPage"); writer.WriteAttributeString("Type", page.GetType().FullName); if (page != DocumentPage.Missing) { LayoutDump.DumpSize(writer, "Size", page.Size); GeneralTransform generalTransform = page.Visual.TransformToAncestor(parent); Point point = new Point(0.0, 0.0); generalTransform.TryTransform(point, out point); if (point.X != 0.0 || point.Y != 0.0) { LayoutDump.DumpPoint(writer, "Position", point); } Type type = page.GetType(); LayoutDump.DumpCustomDocumentPage dumpCustomDocumentPage = null; while (dumpCustomDocumentPage == null && type != null) { dumpCustomDocumentPage = (LayoutDump._documentPageToDumpHandler[type] as LayoutDump.DumpCustomDocumentPage); type = type.BaseType; } if (dumpCustomDocumentPage != null) { dumpCustomDocumentPage(writer, page); } } writer.WriteEndElement(); }
// ------------------------------------------------------------------ // Dump content of DocumentPage. // ------------------------------------------------------------------ internal static void DumpDocumentPage(XmlTextWriter writer, DocumentPage page, Visual parent) { writer.WriteStartElement("DocumentPage"); writer.WriteAttributeString("Type", page.GetType().FullName); if (page != DocumentPage.Missing) { DumpSize(writer, "Size", page.Size); // Dump transform relative to its parent GeneralTransform g = page.Visual.TransformToAncestor(parent); Point point = new Point(0, 0); g.TryTransform(point, out point); if (point.X != 0 || point.Y != 0) { DumpPoint(writer, "Position", point); } // Dump page specific information Type t = page.GetType(); DumpCustomDocumentPage dumpDocumentPage = null; while (dumpDocumentPage == null && t != null) { dumpDocumentPage = _documentPageToDumpHandler[t] as DumpCustomDocumentPage; t = t.BaseType; } if (dumpDocumentPage != null) { dumpDocumentPage(writer, page); } } writer.WriteEndElement(); }
// ------------------------------------------------------------------ // Dump content of the specified DocumentPage. // // writer - stream to be used for dump // element - element to be dumped // parent - parent element // ------------------------------------------------------------------ internal static void DumpDocumentPage(XmlNode writer, DocumentPage page, Visual parent) { if (writer == null) { throw new ArgumentNullException("writer"); } if (page == null) { throw new ArgumentNullException("page"); } if (parent == null) { throw new ArgumentNullException("parent"); } XmlNode node = PropertyDumpCore.xmldoc.CreateElement("DocumentPage"); writer.AppendChild(node); AppendAttribute(node, "Type", page.GetType().FullName); if (page == DocumentPage.Missing) { AppendAttribute(node, "Missing", "True"); } else { DumpSize(writer, "Size", page.Size); // Dump transform relative to its parent Matrix m; System.Windows.Media.GeneralTransform gt = page.Visual.TransformToAncestor(parent); System.Windows.Media.Transform t = (System.Windows.Media.Transform)gt; if (t == null) { throw new System.ApplicationException("//TODO: Handle GeneralTransform Case - introduced by Transforms Breaking Change"); } m = t.Value; Point point = new Point(0, 0) * m; if (point.X != 0 || point.Y != 0) { DumpPoint(writer, "Position", point); } //check for registered handler for this document page DumpCustomDocumentPage dumpDocumentPage = _documentPageToDumpHandler[page.GetType()] as DumpCustomDocumentPage; //Hack: need to itentify if test code should be using the Debug Class //Debug.Assert(dumpDocumentPage == null, String.Format("Unknown documentpage of type {0}", page.GetType())); if (dumpDocumentPage != null) { dumpDocumentPage(node, page); } } }