ISFTagAndGuidCache.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / MS / Internal / Ink / InkSerializedFormat / ISFTagAndGuidCache.cs / 1 / ISFTagAndGuidCache.cs

                            using System; 
using System.Collections;
using System.IO;
using System.Windows.Ink;
 
namespace MS.Internal.Ink.InkSerializedFormat
{ 
    ///  
    ///    [To be supplied.]
    ///  
    internal static class KnownIdCache
    {
        // This id table includes the original Guids that were hardcoded
        //      into ISF for the TabletPC v1 release 
        public static Guid[] OriginalISFIdTable = {
            new Guid(0x598a6a8f, 0x52c0, 0x4ba0, 0x93, 0xaf, 0xaf, 0x35, 0x74, 0x11, 0xa5, 0x61), 
            new Guid(0xb53f9f75, 0x04e0, 0x4498, 0xa7, 0xee, 0xc3, 0x0d, 0xbb, 0x5a, 0x90, 0x11), 
            new Guid(0x735adb30, 0x0ebb, 0x4788, 0xa0, 0xe4, 0x0f, 0x31, 0x64, 0x90, 0x05, 0x5d),
            new Guid(0x6e0e07bf, 0xafe7, 0x4cf7, 0x87, 0xd1, 0xaf, 0x64, 0x46, 0x20, 0x84, 0x18), 
            new Guid(0x436510c5, 0xfed3, 0x45d1, 0x8b, 0x76, 0x71, 0xd3, 0xea, 0x7a, 0x82, 0x9d),
            new Guid(0x78a81b56, 0x0935, 0x4493, 0xba, 0xae, 0x00, 0x54, 0x1a, 0x8a, 0x16, 0xc4),
            new Guid(0x7307502d, 0xf9f4, 0x4e18, 0xb3, 0xf2, 0x2c, 0xe1, 0xb1, 0xa3, 0x61, 0x0c),
            new Guid(0x6da4488b, 0x5244, 0x41ec, 0x90, 0x5b, 0x32, 0xd8, 0x9a, 0xb8, 0x08, 0x09), 
            new Guid(0x8b7fefc4, 0x96aa, 0x4bfe, 0xac, 0x26, 0x8a, 0x5f, 0x0b, 0xe0, 0x7b, 0xf5),
            new Guid(0xa8d07b3a, 0x8bf0, 0x40b0, 0x95, 0xa9, 0xb8, 0x0a, 0x6b, 0xb7, 0x87, 0xbf), 
            new Guid(0x0e932389, 0x1d77, 0x43af, 0xac, 0x00, 0x5b, 0x95, 0x0d, 0x6d, 0x4b, 0x2d), 
            new Guid(0x029123b4, 0x8828, 0x410b, 0xb2, 0x50, 0xa0, 0x53, 0x65, 0x95, 0xe5, 0xdc),
            new Guid(0x82dec5c7, 0xf6ba, 0x4906, 0x89, 0x4f, 0x66, 0xd6, 0x8d, 0xfc, 0x45, 0x6c), 
            new Guid(0x0d324960, 0x13b2, 0x41e4, 0xac, 0xe6, 0x7a, 0xe9, 0xd4, 0x3d, 0x2d, 0x3b),
            new Guid(0x7f7e57b7, 0xbe37, 0x4be1, 0xa3, 0x56, 0x7a, 0x84, 0x16, 0x0e, 0x18, 0x93),
            new Guid(0x5d5d5e56, 0x6ba9, 0x4c5b, 0x9f, 0xb0, 0x85, 0x1c, 0x91, 0x71, 0x4e, 0x56),
            new Guid(0x6a849980, 0x7c3a, 0x45b7, 0xaa, 0x82, 0x90, 0xa2, 0x62, 0x95, 0x0e, 0x89), 
            new Guid(0x33c1df83, 0xecdb, 0x44f0, 0xb9, 0x23, 0xdb, 0xd1, 0xa5, 0xb2, 0x13, 0x6e),
            new Guid(0x5329cda5, 0xfa5b, 0x4ed2, 0xbb, 0x32, 0x83, 0x46, 0x01, 0x72, 0x44, 0x28), 
            new Guid(0x002df9af, 0xdd8c, 0x4949, 0xba, 0x46, 0xd6, 0x5e, 0x10, 0x7d, 0x1a, 0x8a), 
            new Guid(0x9d32b7ca, 0x1213, 0x4f54, 0xb7, 0xe4, 0xc9, 0x05, 0x0e, 0xe1, 0x7a, 0x38),
            new Guid(0xe71caab9, 0x8059, 0x4c0d, 0xa2, 0xdb, 0x7c, 0x79, 0x54, 0x47, 0x8d, 0x82), 
            new Guid(0x5c0b730a, 0xf394, 0x4961, 0xa9, 0x33, 0x37, 0xc4, 0x34, 0xf4, 0xb7, 0xeb),
            new Guid(0x2812210f, 0x871e, 0x4d91, 0x86, 0x07, 0x49, 0x32, 0x7d, 0xdf, 0x0a, 0x9f),
            new Guid(0x8359a0fa, 0x2f44, 0x4de6, 0x92, 0x81, 0xce, 0x5a, 0x89, 0x9c, 0xf5, 0x8f),
            new Guid(0x4c4642dd, 0x479e, 0x4c66, 0xb4, 0x40, 0x1f, 0xcd, 0x83, 0x95, 0x8f, 0x00), 
            new Guid(0xce2d9a8a, 0xe58e, 0x40ba, 0x93, 0xfa, 0x18, 0x9b, 0xb3, 0x90, 0x00, 0xae),
            new Guid(0xc3c7480f, 0x5839, 0x46ef, 0xa5, 0x66, 0xd8, 0x48, 0x1c, 0x7a, 0xfe, 0xc1), 
            new Guid(0xea2278af, 0xc59d, 0x4ef4, 0x98, 0x5b, 0xd4, 0xbe, 0x12, 0xdf, 0x22, 0x34), 
            new Guid(0xb8630dc9, 0xcc5c, 0x4c33, 0x8d, 0xad, 0xb4, 0x7f, 0x62, 0x2b, 0x8c, 0x79),
            new Guid(0x15e2f8e6, 0x6381, 0x4e8b, 0xa9, 0x65, 0x01, 0x1f, 0x7d, 0x7f, 0xca, 0x38), 
            new Guid(0x7066fbe4, 0x473e, 0x4675, 0x9c, 0x25, 0x00, 0x26, 0x82, 0x9b, 0x40, 0x1f),
            new Guid(0xbbc85b9a, 0xade6, 0x4093, 0xb3, 0xbb, 0x64, 0x1f, 0xa1, 0xd3, 0x7a, 0x1a),
            new Guid(0x39143d3, 0x78cb, 0x449c, 0xa8, 0xe7, 0x67, 0xd1, 0x88, 0x64, 0xc3, 0x32),
            new Guid(0x67743782, 0xee5, 0x419a, 0xa1, 0x2b, 0x27, 0x3a, 0x9e, 0xc0, 0x8f, 0x3d), 
            new Guid(0xf0720328, 0x663b, 0x418f, 0x85, 0xa6, 0x95, 0x31, 0xae, 0x3e, 0xcd, 0xfa),
            new Guid(0xa1718cdd, 0xdac, 0x4095, 0xa1, 0x81, 0x7b, 0x59, 0xcb, 0x10, 0x6b, 0xfb), 
            new Guid(0x810a74d2, 0x6ee2, 0x4e39, 0x82, 0x5e, 0x6d, 0xef, 0x82, 0x6a, 0xff, 0xc5), 
        };
 
        // Size of data used by identified by specified Guid/Id
        public static uint[] OriginalISFIdPersistenceSize = {
                Native.SizeOfInt,           // X                         0
                Native.SizeOfInt,           // Y                         1 
                Native.SizeOfInt,           // Z                         2
                Native.SizeOfInt,           // PACKET_STATUS             3 
                2 * Native.SizeOfUInt,      // FILETIME : TIMER_TICK     4 
                Native.SizeOfUInt,          // SERIAL_NUMBER             5
                Native.SizeOfUShort,        // NORMAL_PRESSURE           6 
                Native.SizeOfUShort,        // TANGENT_PRESSURE          7
                Native.SizeOfUShort,        // BUTTON_PRESSURE           8
                Native.SizeOfFloat,         // X_TILT_ORIENTATION        9
                Native.SizeOfFloat,         // Y_TILT_ORIENTATION        10 
                Native.SizeOfFloat,         // AZIMUTH_ORIENTATION       11
                Native.SizeOfInt,           // ALTITUDE_ORIENTATION      12 
                Native.SizeOfInt,           // TWIST_ORIENTATION         13 
                Native.SizeOfUShort,        // PITCH_ROTATION            14
                Native.SizeOfUShort,        // ROLL_ROTATION             15 
                Native.SizeOfUShort,        // YAW_ROTATION              16
                Native.SizeOfUShort,        // PEN_STYLE                 17
                Native.SizeOfUInt,          // COLORREF: COLORREF        18
                Native.SizeOfUInt,          // PEN_WIDTH                 19 
                Native.SizeOfUInt,          // PEN_HEIGHT                20
                Native.SizeOfByte,          // PEN_TIP                   21 
                Native.SizeOfUInt,          // DRAWING_FLAGS             22 
                Native.SizeOfUInt,          // CURSORID                  23
                0,                          // WORD_ALTERNATES           24 
                0,                          // CHAR_ALTERNATES           25
                5 * Native.SizeOfUInt,      // INKMETRICS                26
                3 * Native.SizeOfUInt,      // GUIDE_STRUCTURE           27
                8 * Native.SizeOfUShort,    // SYSTEMTIME TIME_STAMP     28 
                Native.SizeOfUShort,        // LANGUAGE                  29
                Native.SizeOfByte,          // TRANSPARENCY              30 
                Native.SizeOfUInt,          // CURVE_FITTING_ERROR       31 
                0,                          // RECO_LATTICE              32
                Native.SizeOfInt,           // CURSORDOWN                33 
                Native.SizeOfInt,           // SECONDARYTIPSWITCH        34
                Native.SizeOfInt,           // BARRELDOWN                35
                Native.SizeOfInt,           // TABLETPICK                36
                Native.SizeOfInt,           // ROP                       37 
            };
 
        public enum OriginalISFIdIndex : uint 
        {
            X = 0, 
            Y = 1,
            Z = 2,
            PacketStatus = 3,
            TimerTick = 4, 
            SerialNumber = 5,
            NormalPressure = 6, 
            TangentPressure = 7, 
            ButtonPressure = 8,
            XTiltOrientation = 9, 
            YTiltOrientation = 10,
            AzimuthOrientation = 11,
            AltitudeOrientation = 12,
            TwistOrientation = 13, 
            PitchRotation = 14,
            RollRotation = 15, 
            YawRotation = 16, 
            PenStyle = 17,
            ColorRef = 18, 
            StylusWidth = 19,
            StylusHeight = 20,
            PenTip = 21,
            DrawingFlags = 22, 
            CursorId = 23,
            WordAlternates = 24, 
            CharAlternates = 25, 
            InkMetrics = 26,
            GuideStructure = 27, 
            Timestamp = 28,
            Language = 29,
            Transparency = 30,
            CurveFittingError = 31, 
            RecoLattice = 32,
            CursorDown = 33, 
            SecondaryTipSwitch = 34, 
            BarrelDown = 35,
            TabletPick = 36, 
            RasterOperation = 37,
            MAXIMUM = 37,
        }
 
        // This id table includes the Guids that used the internal persistence APIs
        //      - meaning they didn't have the data type information encoded in ISF 
        public static Guid[] TabletInternalIdTable = { 
                // Highlighter
            new Guid(0x9b6267b8, 0x3968, 0x4048, 0xab, 0x74, 0xf4, 0x90, 0x40, 0x6a, 0x2d, 0xfa), 
                // Ink properties
            new Guid(0x7fc30e91, 0xd68d, 0x4f07, 0x8b, 0x62, 0x6, 0xf6, 0xd2, 0x73, 0x1b, 0xed),
                // Ink Style Bold
            new Guid(0xe02fb5c1, 0x9693, 0x4312, 0xa4, 0x34, 0x0, 0xde, 0x7f, 0x3a, 0xd4, 0x93), 
                // Ink Style Italics
            new Guid(0x5253b51, 0x49c6, 0x4a04, 0x89, 0x93, 0x64, 0xdd, 0x9a, 0xbd, 0x84, 0x2a), 
                // Stroke Timestamp 
            new Guid(0x4ea66c4, 0xf33a, 0x461b, 0xb8, 0xfe, 0x68, 0x7, 0xd, 0x9c, 0x75, 0x75),
                // Stroke Time Id 
            new Guid(0x50b6bc8, 0x3b7d, 0x4816, 0x8c, 0x61, 0xbc, 0x7e, 0x90, 0x5b, 0x21, 0x32),
                // Stroke Lattice
            new Guid(0x82871c85, 0xe247, 0x4d8c, 0x8d, 0x71, 0x22, 0xe5, 0xd6, 0xf2, 0x57, 0x76),
                // Ink Custom Strokes 
            new Guid(0x33cdbbb3, 0x588f, 0x4e94, 0xb1, 0xfe, 0x5d, 0x79, 0xff, 0xe7, 0x6e, 0x76),
        }; 
            // lookup indices for table of GUIDs used with non-Automation APIs 
        internal enum TabletInternalIdIndex
        { 
            Highlighter = 0,
            InkProperties = 1,
            InkStyleBold = 2,
            InkStyleItalics = 3, 
            StrokeTimestamp = 4,
            StrokeTimeId = 5, 
            InkStrokeLattice = 6, 
            InkCustomStrokes = 7,
            MAXIMUM = 7 
        }

        static internal KnownTagCache.KnownTagIndex KnownGuidBaseIndex = (KnownTagCache.KnownTagIndex)KnownTagCache.MaximumPossibleKnownTags;
 
            // The maximum value that can be encoded into a single byte is 127.
            // To improve the chances of storing all of the guids in the ISF guid table 
            //      with single-byte lookups, the guids are broken into two ranges 
            // 0-50 known tags
            // 50-100 known guids (reserved) 
            // 101-127 custom guids (user-defined guids)
            // 128-... more custom guids, but requiring multiples bytes for guid table lookup

            // These values aren't currently used, so comment them out 
        // static internal uint KnownGuidIndexLimit = MaximumPossibleKnownGuidIndex;
        static internal uint MaximumPossibleKnownGuidIndex = 100; 
        static internal uint CustomGuidBaseIndex = MaximumPossibleKnownGuidIndex; 

        // This id table includes the Guids that have been added to ISF as ExtendedProperties 
        //      Note that they are visible to 3rd party applications
        public static Guid[] ExtendedISFIdTable = {
                // Highlighter
                new Guid(0x9b6267b8, 0x3968, 0x4048, 0xab, 0x74, 0xf4, 0x90, 0x40, 0x6a, 0x2d, 0xfa), 
                // Ink properties
                new Guid(0x7fc30e91, 0xd68d, 0x4f07, 0x8b, 0x62, 0x6, 0xf6, 0xd2, 0x73, 0x1b, 0xed), 
                // Ink Style Bold 
                new Guid(0xe02fb5c1, 0x9693, 0x4312, 0xa4, 0x34, 0x0, 0xde, 0x7f, 0x3a, 0xd4, 0x93),
                // Ink Style Italics 
                new Guid(0x5253b51, 0x49c6, 0x4a04, 0x89, 0x93, 0x64, 0xdd, 0x9a, 0xbd, 0x84, 0x2a),
                // Stroke Timestamp
                new Guid(0x4ea66c4, 0xf33a, 0x461b, 0xb8, 0xfe, 0x68, 0x7, 0xd, 0x9c, 0x75, 0x75),
                // Stroke Time Id 
                new Guid(0x50b6bc8, 0x3b7d, 0x4816, 0x8c, 0x61, 0xbc, 0x7e, 0x90, 0x5b, 0x21, 0x32),
                // Stroke Lattice 
                new Guid(0x82871c85, 0xe247, 0x4d8c, 0x8d, 0x71, 0x22, 0xe5, 0xd6, 0xf2, 0x57, 0x76), 
                // Ink Custom Strokes
                new Guid(0x33cdbbb3, 0x588f, 0x4e94, 0xb1, 0xfe, 0x5d, 0x79, 0xff, 0xe7, 0x6e, 0x76), 
        };
    }
    internal static class KnownTagCache
    { 
        internal enum KnownTagIndex : uint
        { 
            Unknown = 0, 
            InkSpaceRectangle = 0,
            GuidTable = 1, 
            DrawingAttributesTable = 2,
            DrawingAttributesBlock = 3,
            StrokeDescriptorTable = 4,
            StrokeDescriptorBlock = 5, 
            Buttons = 6,
            NoX = 7, 
            NoY = 8, 
            DrawingAttributesTableIndex = 9,
            Stroke = 10, 
            StrokePropertyList = 11,
            PointProperty = 12,
            StrokeDescriptorTableIndex = 13,
            CompressionHeader = 14, 
            TransformTable = 15,
            Transform = 16, 
            TransformIsotropicScale = 17, 
            TransformAnisotropicScale = 18,
            TransformRotate = 19, 
            TransformTranslate = 20,
            TransformScaleAndTranslate = 21,
            TransformQuad = 22,
            TransformTableIndex = 23, 
            MetricTable = 24,
            MetricBlock = 25, 
            MetricTableIndex = 26, 
            Mantissa = 27,
            PersistenceFormat = 28, 
            HimetricSize = 29,
            StrokeIds = 30,
            ExtendedTransformTable = 31,
        } 

            // See comments for KnownGuidBaseIndex to determine ranges of tags/guids/indices 
        static internal uint MaximumPossibleKnownTags = 50; 
        static internal uint KnownTagCount = (byte)MaximumPossibleKnownTags;
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK