Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / MS / Internal / Ink / StrokeFIndices.cs / 1 / StrokeFIndices.cs
//------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------
using MS.Utility;
using MS.Internal;
using System;
using System.Windows;
using System.Collections.Generic;
using System.Globalization;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace MS.Internal.Ink
{
#region StrokeFIndices
///
/// A helper struct that represents a fragment of a stroke spine.
///
internal struct StrokeFIndices : IEquatable
{
#region Private statics
private static StrokeFIndices s_empty = new StrokeFIndices(AfterLast, BeforeFirst);
private static StrokeFIndices s_full = new StrokeFIndices(BeforeFirst, AfterLast);
#endregion
#region Internal API
///
/// BeforeFirst
///
///
internal static double BeforeFirst { get { return double.MinValue; } }
///
/// AfterLast
///
///
internal static double AfterLast { get { return double.MaxValue; } }
///
/// StrokeFIndices
///
/// beginFIndex
/// endFIndex
internal StrokeFIndices(double beginFIndex, double endFIndex)
{
_beginFIndex = beginFIndex;
_endFIndex = endFIndex;
}
///
/// BeginFIndex
///
///
internal double BeginFIndex
{
get { return _beginFIndex; }
set { _beginFIndex = value; }
}
///
/// EndFIndex
///
///
internal double EndFIndex
{
get { return _endFIndex; }
set { _endFIndex = value;}
}
///
/// ToString
///
public override string ToString()
{
return "{" + GetStringRepresentation(_beginFIndex) + "," + GetStringRepresentation(_endFIndex) + "}";
}
///
/// Equals
///
///
///
public bool Equals(StrokeFIndices strokeFIndices)
{
return (strokeFIndices == this);
}
///
/// Equals
///
///
///
public override bool Equals(Object obj)
{
// Check for null and compare run-time types
if (obj == null || GetType() != obj.GetType())
return false;
return ((StrokeFIndices)obj == this);
}
///
/// GetHashCode
///
///
public override int GetHashCode()
{
return _beginFIndex.GetHashCode() ^ _endFIndex.GetHashCode();
}
///
/// operator ==
///
///
///
///
public static bool operator ==(StrokeFIndices sfiLeft, StrokeFIndices sfiRight)
{
return (DoubleUtil.AreClose(sfiLeft._beginFIndex, sfiRight._beginFIndex)
&& DoubleUtil.AreClose(sfiLeft._endFIndex, sfiRight._endFIndex));
}
///
/// operator !=
///
///
///
///
public static bool operator !=(StrokeFIndices sfiLeft, StrokeFIndices sfiRight)
{
return !(sfiLeft == sfiRight);
}
internal static string GetStringRepresentation(double fIndex)
{
if (DoubleUtil.AreClose(fIndex, StrokeFIndices.BeforeFirst))
{
return "BeforeFirst";
}
if (DoubleUtil.AreClose(fIndex, StrokeFIndices.AfterLast))
{
return "AfterLast";
}
return fIndex.ToString(CultureInfo.InvariantCulture);
}
///
///
///
internal static StrokeFIndices Empty { get { return s_empty; } }
///
///
///
internal static StrokeFIndices Full { get { return s_full; } }
///
///
///
internal bool IsEmpty { get { return DoubleUtil.GreaterThanOrClose(_beginFIndex, _endFIndex); } }
///
///
///
internal bool IsFull { get { return ((DoubleUtil.AreClose(_beginFIndex, BeforeFirst)) && (DoubleUtil.AreClose(_endFIndex,AfterLast))); } }
#if DEBUG
///
///
///
private bool IsValid { get { return !double.IsNaN(_beginFIndex) && !double.IsNaN(_endFIndex) && _beginFIndex < _endFIndex; } }
#endif
///
/// Compare StrokeFIndices based on the BeinFIndex
///
///
///
internal int CompareTo(StrokeFIndices fIndices)
{
#if DEBUG
System.Diagnostics.Debug.Assert(!double.IsNaN(_beginFIndex) && !double.IsNaN(_endFIndex) && DoubleUtil.LessThan(_beginFIndex, _endFIndex));
#endif
if (DoubleUtil.AreClose(BeginFIndex, fIndices.BeginFIndex))
{
return 0;
}
else if (DoubleUtil.GreaterThan(BeginFIndex, fIndices.BeginFIndex))
{
return 1;
}
else
{
return -1;
}
}
#endregion
#region Fields
private double _beginFIndex;
private double _endFIndex;
#endregion
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------
using MS.Utility;
using MS.Internal;
using System;
using System.Windows;
using System.Collections.Generic;
using System.Globalization;
using SR=MS.Internal.PresentationCore.SR;
using SRID=MS.Internal.PresentationCore.SRID;
namespace MS.Internal.Ink
{
#region StrokeFIndices
///
/// A helper struct that represents a fragment of a stroke spine.
///
internal struct StrokeFIndices : IEquatable
{
#region Private statics
private static StrokeFIndices s_empty = new StrokeFIndices(AfterLast, BeforeFirst);
private static StrokeFIndices s_full = new StrokeFIndices(BeforeFirst, AfterLast);
#endregion
#region Internal API
///
/// BeforeFirst
///
///
internal static double BeforeFirst { get { return double.MinValue; } }
///
/// AfterLast
///
///
internal static double AfterLast { get { return double.MaxValue; } }
///
/// StrokeFIndices
///
/// beginFIndex
/// endFIndex
internal StrokeFIndices(double beginFIndex, double endFIndex)
{
_beginFIndex = beginFIndex;
_endFIndex = endFIndex;
}
///
/// BeginFIndex
///
///
internal double BeginFIndex
{
get { return _beginFIndex; }
set { _beginFIndex = value; }
}
///
/// EndFIndex
///
///
internal double EndFIndex
{
get { return _endFIndex; }
set { _endFIndex = value;}
}
///
/// ToString
///
public override string ToString()
{
return "{" + GetStringRepresentation(_beginFIndex) + "," + GetStringRepresentation(_endFIndex) + "}";
}
///
/// Equals
///
///
///
public bool Equals(StrokeFIndices strokeFIndices)
{
return (strokeFIndices == this);
}
///
/// Equals
///
///
///
public override bool Equals(Object obj)
{
// Check for null and compare run-time types
if (obj == null || GetType() != obj.GetType())
return false;
return ((StrokeFIndices)obj == this);
}
///
/// GetHashCode
///
///
public override int GetHashCode()
{
return _beginFIndex.GetHashCode() ^ _endFIndex.GetHashCode();
}
///
/// operator ==
///
///
///
///
public static bool operator ==(StrokeFIndices sfiLeft, StrokeFIndices sfiRight)
{
return (DoubleUtil.AreClose(sfiLeft._beginFIndex, sfiRight._beginFIndex)
&& DoubleUtil.AreClose(sfiLeft._endFIndex, sfiRight._endFIndex));
}
///
/// operator !=
///
///
///
///
public static bool operator !=(StrokeFIndices sfiLeft, StrokeFIndices sfiRight)
{
return !(sfiLeft == sfiRight);
}
internal static string GetStringRepresentation(double fIndex)
{
if (DoubleUtil.AreClose(fIndex, StrokeFIndices.BeforeFirst))
{
return "BeforeFirst";
}
if (DoubleUtil.AreClose(fIndex, StrokeFIndices.AfterLast))
{
return "AfterLast";
}
return fIndex.ToString(CultureInfo.InvariantCulture);
}
///
///
///
internal static StrokeFIndices Empty { get { return s_empty; } }
///
///
///
internal static StrokeFIndices Full { get { return s_full; } }
///
///
///
internal bool IsEmpty { get { return DoubleUtil.GreaterThanOrClose(_beginFIndex, _endFIndex); } }
///
///
///
internal bool IsFull { get { return ((DoubleUtil.AreClose(_beginFIndex, BeforeFirst)) && (DoubleUtil.AreClose(_endFIndex,AfterLast))); } }
#if DEBUG
///
///
///
private bool IsValid { get { return !double.IsNaN(_beginFIndex) && !double.IsNaN(_endFIndex) && _beginFIndex < _endFIndex; } }
#endif
///
/// Compare StrokeFIndices based on the BeinFIndex
///
///
///
internal int CompareTo(StrokeFIndices fIndices)
{
#if DEBUG
System.Diagnostics.Debug.Assert(!double.IsNaN(_beginFIndex) && !double.IsNaN(_endFIndex) && DoubleUtil.LessThan(_beginFIndex, _endFIndex));
#endif
if (DoubleUtil.AreClose(BeginFIndex, fIndices.BeginFIndex))
{
return 0;
}
else if (DoubleUtil.GreaterThan(BeginFIndex, fIndices.BeginFIndex))
{
return 1;
}
else
{
return -1;
}
}
#endregion
#region Fields
private double _beginFIndex;
private double _endFIndex;
#endregion
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnsafeNativeMethods.cs
- AppDomainCompilerProxy.cs
- DataGridViewSelectedRowCollection.cs
- DSASignatureFormatter.cs
- FileSystemInfo.cs
- SecurityValidationBehavior.cs
- Win32SafeHandles.cs
- __ConsoleStream.cs
- MessageQueueAccessControlEntry.cs
- Rotation3D.cs
- PointAnimationUsingKeyFrames.cs
- TypeDescriptor.cs
- TypedDataSourceCodeGenerator.cs
- RuntimeHelpers.cs
- MaskDescriptor.cs
- SecurityKeyIdentifierClause.cs
- ContainerAction.cs
- RNGCryptoServiceProvider.cs
- Error.cs
- EditingCommands.cs
- XmlDocumentType.cs
- Application.cs
- TemplatedWizardStep.cs
- RecordsAffectedEventArgs.cs
- OleDbException.cs
- Semaphore.cs
- DesignerWebPartChrome.cs
- WorkflowInstanceProxy.cs
- AssemblyAssociatedContentFileAttribute.cs
- NotCondition.cs
- ClientSession.cs
- GridPattern.cs
- QualifiedCellIdBoolean.cs
- ComponentDispatcher.cs
- XmlWriterTraceListener.cs
- TabItemAutomationPeer.cs
- CLRBindingWorker.cs
- CommandHelper.cs
- LogAppendAsyncResult.cs
- XmlDataSourceDesigner.cs
- EventSetter.cs
- HtmlElementCollection.cs
- EventArgs.cs
- DynamicPropertyHolder.cs
- SafeSecurityHelper.cs
- RotateTransform3D.cs
- RectIndependentAnimationStorage.cs
- ScrollEventArgs.cs
- ParseHttpDate.cs
- PrefixQName.cs
- EmptyEnumerator.cs
- WebServiceAttribute.cs
- CollectionsUtil.cs
- assertwrapper.cs
- CalendarBlackoutDatesCollection.cs
- RecordManager.cs
- EntityRecordInfo.cs
- ColumnHeader.cs
- CodeDomLoader.cs
- Command.cs
- __ConsoleStream.cs
- TextParagraphProperties.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- Input.cs
- FamilyMapCollection.cs
- IItemProperties.cs
- VScrollProperties.cs
- SqlUtils.cs
- AppliedDeviceFiltersEditor.cs
- ListControlStringCollectionEditor.cs
- Query.cs
- XPathAncestorIterator.cs
- unitconverter.cs
- XmlTextReaderImpl.cs
- ByteStreamGeometryContext.cs
- TraceContext.cs
- ArrayList.cs
- DataGridViewTopRowAccessibleObject.cs
- FontUnit.cs
- DataObjectEventArgs.cs
- RtType.cs
- TypeGenericEnumerableViewSchema.cs
- ImportCatalogPart.cs
- CompilerInfo.cs
- WebServiceParameterData.cs
- SamlSecurityTokenAuthenticator.cs
- ToolStripRenderEventArgs.cs
- _LocalDataStoreMgr.cs
- XPathDocumentIterator.cs
- CookieParameter.cs
- ProtocolsConfigurationHandler.cs
- CodeMethodInvokeExpression.cs
- CompoundFileStorageReference.cs
- ImmutableObjectAttribute.cs
- RichTextBox.cs
- GorillaCodec.cs
- AnnotationComponentManager.cs
- UserNameSecurityTokenProvider.cs
- FontFamilyValueSerializer.cs
- Synchronization.cs