Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Ink / InkSerializedFormat / HuffModule.cs / 1305600 / HuffModule.cs
using MS.Utility;
using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Globalization;
using System.Windows;
using System.Windows.Input;
using System.Windows.Ink;
using MS.Internal.Ink.InkSerializedFormat;
using System.Collections.Generic;
using SR = MS.Internal.PresentationCore.SR;
using SRID = MS.Internal.PresentationCore.SRID;
namespace MS.Internal.Ink.InkSerializedFormat
{
///
/// HuffModule
///
internal class HuffModule
{
///
/// Ctor
///
internal HuffModule()
{
}
///
/// GetDefCodec
///
internal HuffCodec GetDefCodec(uint index)
{
HuffCodec huffCodec = null;
if (AlgoModule.DefaultBAACount > index)
{
huffCodec = _defaultHuffCodecs[index];
if (huffCodec == null)
{
huffCodec = new HuffCodec(index);
_defaultHuffCodecs[index] = huffCodec;
}
}
else
{
throw new ArgumentOutOfRangeException("index");
}
return huffCodec;
}
///
/// FindCodec
///
///
internal HuffCodec FindCodec(byte algoData)
{
byte codec = (byte)(algoData & 0x1f);
//unused
//if ((0x20 & algoData) != 0)
//{
// int iLookup = (algoData & 0x1f);
// if ((iLookup > 0) && (iLookup <= _lookupList.Count))
// {
// codec = _lookupList[iLookup - 1].Byte;
// }
//}
if (codec < AlgoModule.DefaultBAACount)
{
return GetDefCodec((uint)codec);
}
if ((int)codec >= _huffCodecs.Count + AlgoModule.DefaultBAACount)
{
throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("invalid codec computed"));
}
return _huffCodecs[(int)(codec - AlgoModule.DefaultBAACount)];
}
///
/// FindDtXf
///
///
internal DataXform FindDtXf(byte algoData)
{
//unused
//if ((0x20 & algoData) != 0)
//{
// int lookupIndex = (int)(algoData & 0x1f);
// if ((lookupIndex > 0) && (lookupIndex < _lookupList.Count))
// {
// return _lookupList[lookupIndex].DeltaDelta;
// }
//}
return this.DefaultDeltaDelta;
}
///
/// Private lazy init'd
///
private DeltaDelta DefaultDeltaDelta
{
get
{
if (_defaultDtxf == null)
{
_defaultDtxf = new DeltaDelta();
}
return _defaultDtxf;
}
}
///
/// Privates
///
private DeltaDelta _defaultDtxf;
//unused
//private List _lookupList = new List();
private List _huffCodecs = new List();
private HuffCodec[] _defaultHuffCodecs = new HuffCodec[AlgoModule.DefaultBAACount];
//unused
/////
///// Simple helper class
/////
//private class CodeLookup
//{
// internal CodeLookup(DeltaDelta dd, byte b)
// {
// if (dd == null) { throw new ArgumentNullException(); }
// DeltaDelta = dd;
// Byte = b;
// }
// internal DeltaDelta DeltaDelta;
// internal Byte Byte;
//}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using MS.Utility;
using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Globalization;
using System.Windows;
using System.Windows.Input;
using System.Windows.Ink;
using MS.Internal.Ink.InkSerializedFormat;
using System.Collections.Generic;
using SR = MS.Internal.PresentationCore.SR;
using SRID = MS.Internal.PresentationCore.SRID;
namespace MS.Internal.Ink.InkSerializedFormat
{
///
/// HuffModule
///
internal class HuffModule
{
///
/// Ctor
///
internal HuffModule()
{
}
///
/// GetDefCodec
///
internal HuffCodec GetDefCodec(uint index)
{
HuffCodec huffCodec = null;
if (AlgoModule.DefaultBAACount > index)
{
huffCodec = _defaultHuffCodecs[index];
if (huffCodec == null)
{
huffCodec = new HuffCodec(index);
_defaultHuffCodecs[index] = huffCodec;
}
}
else
{
throw new ArgumentOutOfRangeException("index");
}
return huffCodec;
}
///
/// FindCodec
///
///
internal HuffCodec FindCodec(byte algoData)
{
byte codec = (byte)(algoData & 0x1f);
//unused
//if ((0x20 & algoData) != 0)
//{
// int iLookup = (algoData & 0x1f);
// if ((iLookup > 0) && (iLookup <= _lookupList.Count))
// {
// codec = _lookupList[iLookup - 1].Byte;
// }
//}
if (codec < AlgoModule.DefaultBAACount)
{
return GetDefCodec((uint)codec);
}
if ((int)codec >= _huffCodecs.Count + AlgoModule.DefaultBAACount)
{
throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("invalid codec computed"));
}
return _huffCodecs[(int)(codec - AlgoModule.DefaultBAACount)];
}
///
/// FindDtXf
///
///
internal DataXform FindDtXf(byte algoData)
{
//unused
//if ((0x20 & algoData) != 0)
//{
// int lookupIndex = (int)(algoData & 0x1f);
// if ((lookupIndex > 0) && (lookupIndex < _lookupList.Count))
// {
// return _lookupList[lookupIndex].DeltaDelta;
// }
//}
return this.DefaultDeltaDelta;
}
///
/// Private lazy init'd
///
private DeltaDelta DefaultDeltaDelta
{
get
{
if (_defaultDtxf == null)
{
_defaultDtxf = new DeltaDelta();
}
return _defaultDtxf;
}
}
///
/// Privates
///
private DeltaDelta _defaultDtxf;
//unused
//private List _lookupList = new List();
private List _huffCodecs = new List();
private HuffCodec[] _defaultHuffCodecs = new HuffCodec[AlgoModule.DefaultBAACount];
//unused
/////
///// Simple helper class
/////
//private class CodeLookup
//{
// internal CodeLookup(DeltaDelta dd, byte b)
// {
// if (dd == null) { throw new ArgumentNullException(); }
// DeltaDelta = dd;
// Byte = b;
// }
// internal DeltaDelta DeltaDelta;
// internal Byte Byte;
//}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SortKey.cs
- FlowDocumentScrollViewer.cs
- ColorMatrix.cs
- StringDictionaryWithComparer.cs
- Utils.cs
- CriticalFileToken.cs
- TypeConverterAttribute.cs
- TextChange.cs
- NavigationProperty.cs
- Pen.cs
- CodeGotoStatement.cs
- XmlSiteMapProvider.cs
- CachingHintValidation.cs
- SoapRpcServiceAttribute.cs
- TransformBlockRequest.cs
- ApplicationServicesHostFactory.cs
- ConfigurationValue.cs
- ByteConverter.cs
- PolicyLevel.cs
- ChannelListenerBase.cs
- PixelShader.cs
- OracleConnection.cs
- DesignerCalendarAdapter.cs
- Stopwatch.cs
- GcHandle.cs
- WebPartVerbsEventArgs.cs
- XPathNode.cs
- XmlILIndex.cs
- CodeCommentStatementCollection.cs
- PagedDataSource.cs
- ProgramPublisher.cs
- ListItemCollection.cs
- TextEffectCollection.cs
- FlowLayout.cs
- SubclassTypeValidator.cs
- SystemResourceHost.cs
- DataGridViewCellValueEventArgs.cs
- PageParser.cs
- ForwardPositionQuery.cs
- Query.cs
- Timer.cs
- DrawListViewItemEventArgs.cs
- ISAPIWorkerRequest.cs
- DetailsViewPagerRow.cs
- StorageModelBuildProvider.cs
- SamlAttributeStatement.cs
- SignatureToken.cs
- RC2CryptoServiceProvider.cs
- safelink.cs
- EFTableProvider.cs
- XmlWellformedWriter.cs
- TemplatedAdorner.cs
- EventLogPermission.cs
- Attributes.cs
- FtpWebRequest.cs
- ParameterReplacerVisitor.cs
- SelectManyQueryOperator.cs
- TypedElement.cs
- errorpatternmatcher.cs
- ImageDrawing.cs
- TickBar.cs
- DiscardableAttribute.cs
- KoreanCalendar.cs
- CharacterHit.cs
- validation.cs
- Debug.cs
- SapiRecoInterop.cs
- MultiPropertyDescriptorGridEntry.cs
- TableProviderWrapper.cs
- EmptyEnumerable.cs
- DocumentPageView.cs
- TrackingServices.cs
- SendDesigner.xaml.cs
- NCryptSafeHandles.cs
- ClosableStream.cs
- StatusBar.cs
- InputLangChangeRequestEvent.cs
- CheckBox.cs
- WorkflowRuntimeService.cs
- InternalSafeNativeMethods.cs
- EnumConverter.cs
- XmlReader.cs
- AbstractExpressions.cs
- WindowPatternIdentifiers.cs
- ChineseLunisolarCalendar.cs
- DbgCompiler.cs
- DPAPIProtectedConfigurationProvider.cs
- StandardBindingElementCollection.cs
- StreamGeometry.cs
- PageSettings.cs
- MethodRental.cs
- IssuedTokenClientBehaviorsElement.cs
- CustomErrorCollection.cs
- WebPartTransformer.cs
- WmfPlaceableFileHeader.cs
- UnsafeNativeMethods.cs
- Transform.cs
- CommandPlan.cs
- ToolboxBitmapAttribute.cs
- InvokePatternIdentifiers.cs