Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- XmlDataSourceView.cs
- ExtensionDataReader.cs
- ExpressionNormalizer.cs
- SqlDataSource.cs
- ObjectList.cs
- AnnouncementEndpoint.cs
- Identity.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Trace.cs
- ProcessRequestAsyncResult.cs
- EntityTransaction.cs
- DBSqlParserTable.cs
- CodeGeneratorOptions.cs
- Quaternion.cs
- RuleSettingsCollection.cs
- WindowsListViewItemCheckBox.cs
- ContentPropertyAttribute.cs
- FormsAuthenticationModule.cs
- DbConnectionStringBuilder.cs
- PinProtectionHelper.cs
- TimelineCollection.cs
- PluralizationServiceUtil.cs
- AsymmetricKeyExchangeDeformatter.cs
- BindingNavigator.cs
- NullableDecimalAverageAggregationOperator.cs
- ObjectQueryProvider.cs
- AmbientLight.cs
- SoapCodeExporter.cs
- OptimalBreakSession.cs
- PartitionResolver.cs
- IndependentlyAnimatedPropertyMetadata.cs
- fixedPageContentExtractor.cs
- DataServiceQuery.cs
- WindowsListViewScroll.cs
- HttpListenerPrefixCollection.cs
- FloatUtil.cs
- NotificationContext.cs
- TreeChangeInfo.cs
- Constraint.cs
- MouseWheelEventArgs.cs
- RealProxy.cs
- SimpleType.cs
- Crc32.cs
- ReadingWritingEntityEventArgs.cs
- SingleResultAttribute.cs
- PropertyRecord.cs
- CreateSequence.cs
- AppDomainFactory.cs
- CompilerGeneratedAttribute.cs
- UnsafeNativeMethods.cs
- AssemblyFilter.cs
- LazyTextWriterCreator.cs
- DocumentViewerHelper.cs
- WindowsStartMenu.cs
- PeerNameRegistration.cs
- BreakRecordTable.cs
- SingleResultAttribute.cs
- StyleSheetDesigner.cs
- EqualityComparer.cs
- StylusPointPropertyInfo.cs
- EncoderBestFitFallback.cs
- NonVisualControlAttribute.cs
- LogAppendAsyncResult.cs
- ListControlConvertEventArgs.cs
- ProcessModelInfo.cs
- SchemaNamespaceManager.cs
- DataGridViewDataErrorEventArgs.cs
- FactorySettingsElement.cs
- RuntimeEnvironment.cs
- IdentityNotMappedException.cs
- StatusBarItem.cs
- RoutingBehavior.cs
- ExpressionBinding.cs
- Internal.cs
- MiniConstructorInfo.cs
- HttpSysSettings.cs
- TemplateModeChangedEventArgs.cs
- EntryPointNotFoundException.cs
- EmptyEnumerable.cs
- DefaultPrintController.cs
- unitconverter.cs
- DocumentApplicationJournalEntry.cs
- StylusEditingBehavior.cs
- IdnMapping.cs
- AsymmetricKeyExchangeDeformatter.cs
- ChangePassword.cs
- DataGridTable.cs
- DigitShape.cs
- Section.cs
- ComplexType.cs
- SourceSwitch.cs
- DetailsViewInsertedEventArgs.cs
- PeerPresenceInfo.cs
- WebPartTransformerCollection.cs
- SafeSecurityHelper.cs
- Types.cs
- StringAnimationBase.cs
- FormatSettings.cs
- ListViewEditEventArgs.cs
- Point3DValueSerializer.cs