| File: System\Windows\Markup\XamlPathDataSerializer.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationFramework\PresentationFramework.csproj (PresentationFramework) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // Description: // XamlSerializer used to persist path data into Baml. // using System.IO; using MS.Internal; #if PBTCOMPILER using System.Reflection; using System.Collections.Generic; namespace MS.Internal.Markup #else using System.Windows; using System.Windows.Media; using System.Windows.Media.Media3D; using MS.Internal.Media; namespace System.Windows.Markup #endif { /// <summary> /// XamlPathDataSerializer is used to persist collections of integer indices in Baml /// </summary> internal class XamlPathDataSerializer : XamlSerializer { #region Construction /// <summary> /// Constructor for XamlPathDataSerializer /// </summary> public XamlPathDataSerializer() { } #endregion Construction /// <summary> /// Convert a string into a compact binary representation and write it out /// to the passed BinaryWriter. /// </summary> public override bool ConvertStringToCustomBinary ( BinaryWriter writer, // Writer into the baml stream string stringValue) // String to convert { Parsers.PathMinilanguageToBinary( writer, stringValue ) ; return true; } #if !PBTCOMPILER /// <summary> /// Convert a compact binary representation of a collection /// into a Point3DCollection into and instance /// </summary> /// <remarks> /// This is called ONLY from the Parser and is not a general public method. /// </remarks> public override object ConvertCustomBinaryToObject( BinaryReader reader) { return Parsers.DeserializeStreamGeometry( reader ); } /// <summary> /// Convert a compact binary representation of a collection /// into a Point3DCollection into and instance /// </summary> /// <remarks> /// This is called ONLY from the Parser and is not a general public method. /// </remarks> public static object StaticConvertCustomBinaryToObject( BinaryReader reader) { return Parsers.DeserializeStreamGeometry( reader ); } #endif } }