Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / PtsHost / DirtyTextRange.cs / 1 / DirtyTextRange.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DirtyTextRange.cs // // Description: Dirty text range describes change in the TextContainer. // // History: // 06/06/2003 : grzegorz - created. // //--------------------------------------------------------------------------- using System; using System.Windows.Controls; using System.Windows.Documents; namespace MS.Internal.PtsHost { // --------------------------------------------------------------------- // Dirty text range describes change in the TextContainer. // --------------------------------------------------------------------- internal struct DirtyTextRange { // ------------------------------------------------------------------ // Constructor // // startIndex - Index of the starting position of the change. // positionsAdded - Number of characters added. // positionsRemoved - Number of characters removed. // ----------------------------------------------------------------- internal DirtyTextRange(int startIndex, int positionsAdded, int positionsRemoved) : this(startIndex, positionsAdded, positionsRemoved, false /* affectsRenderOnly */) { } // ------------------------------------------------------------------ // Constructor // // startIndex - Index of the starting position of the change. // positionsAdded - Number of characters added. // positionsRemoved - Number of characters removed. // affectsRenderOnly - true if change does not affect measure (highlight change) // ------------------------------------------------------------------ internal DirtyTextRange(int startIndex, int positionsAdded, int positionsRemoved, bool affectsRenderOnly) { StartIndex = startIndex; PositionsAdded = positionsAdded; PositionsRemoved = positionsRemoved; AffectsRenderOnly = affectsRenderOnly; } // ----------------------------------------------------------------- // Constructor // // change - TextContainer change data. // ------------------------------------------------------------------ internal DirtyTextRange(TextContainerChangeEventArgs change) { StartIndex = change.ITextPosition.Offset; PositionsAdded = 0; PositionsRemoved = 0; switch (change.TextChange) { case TextChangeType.ContentAdded: PositionsAdded = change.Count; break; case TextChangeType.ContentRemoved: PositionsRemoved = change.Count; break; case TextChangeType.PropertyModified: PositionsAdded = change.Count; PositionsRemoved = change.Count; break; } AffectsRenderOnly = false; } // ----------------------------------------------------------------- // Index of the starting position of the change. // ----------------------------------------------------------------- internal int StartIndex; // ----------------------------------------------------------------- // Number of characters added. // ------------------------------------------------------------------ internal int PositionsAdded; // ----------------------------------------------------------------- // Number of characters removed. // ------------------------------------------------------------------ internal int PositionsRemoved; // ------------------------------------------------------------------ // true if the change affects render only (ie, a highlight change). // ----------------------------------------------------------------- internal bool AffectsRenderOnly; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DirtyTextRange.cs // // Description: Dirty text range describes change in the TextContainer. // // History: // 06/06/2003 : grzegorz - created. // //--------------------------------------------------------------------------- using System; using System.Windows.Controls; using System.Windows.Documents; namespace MS.Internal.PtsHost { // --------------------------------------------------------------------- // Dirty text range describes change in the TextContainer. // --------------------------------------------------------------------- internal struct DirtyTextRange { // ------------------------------------------------------------------ // Constructor // // startIndex - Index of the starting position of the change. // positionsAdded - Number of characters added. // positionsRemoved - Number of characters removed. // ----------------------------------------------------------------- internal DirtyTextRange(int startIndex, int positionsAdded, int positionsRemoved) : this(startIndex, positionsAdded, positionsRemoved, false /* affectsRenderOnly */) { } // ------------------------------------------------------------------ // Constructor // // startIndex - Index of the starting position of the change. // positionsAdded - Number of characters added. // positionsRemoved - Number of characters removed. // affectsRenderOnly - true if change does not affect measure (highlight change) // ------------------------------------------------------------------ internal DirtyTextRange(int startIndex, int positionsAdded, int positionsRemoved, bool affectsRenderOnly) { StartIndex = startIndex; PositionsAdded = positionsAdded; PositionsRemoved = positionsRemoved; AffectsRenderOnly = affectsRenderOnly; } // ----------------------------------------------------------------- // Constructor // // change - TextContainer change data. // ------------------------------------------------------------------ internal DirtyTextRange(TextContainerChangeEventArgs change) { StartIndex = change.ITextPosition.Offset; PositionsAdded = 0; PositionsRemoved = 0; switch (change.TextChange) { case TextChangeType.ContentAdded: PositionsAdded = change.Count; break; case TextChangeType.ContentRemoved: PositionsRemoved = change.Count; break; case TextChangeType.PropertyModified: PositionsAdded = change.Count; PositionsRemoved = change.Count; break; } AffectsRenderOnly = false; } // ----------------------------------------------------------------- // Index of the starting position of the change. // ----------------------------------------------------------------- internal int StartIndex; // ----------------------------------------------------------------- // Number of characters added. // ------------------------------------------------------------------ internal int PositionsAdded; // ----------------------------------------------------------------- // Number of characters removed. // ------------------------------------------------------------------ internal int PositionsRemoved; // ------------------------------------------------------------------ // true if the change affects render only (ie, a highlight change). // ----------------------------------------------------------------- internal bool AffectsRenderOnly; } } // 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
- InputLangChangeEvent.cs
- PerfCounters.cs
- ObfuscateAssemblyAttribute.cs
- Model3D.cs
- ZoneMembershipCondition.cs
- DecimalKeyFrameCollection.cs
- Type.cs
- LinkedResource.cs
- SafeFileHandle.cs
- InternalSafeNativeMethods.cs
- EventLog.cs
- DataDesignUtil.cs
- HttpListenerContext.cs
- DataServiceHost.cs
- CompilationUnit.cs
- FastEncoderStatics.cs
- DateTimeConstantAttribute.cs
- RenderDataDrawingContext.cs
- SID.cs
- HexParser.cs
- UriGenerator.cs
- TriggerCollection.cs
- SelectionPatternIdentifiers.cs
- Directory.cs
- DebuggerAttributes.cs
- RSACryptoServiceProvider.cs
- ReadOnlyDataSourceView.cs
- SettingsContext.cs
- LowerCaseStringConverter.cs
- FamilyMapCollection.cs
- SelectionItemPattern.cs
- WebPartMinimizeVerb.cs
- UserValidatedEventArgs.cs
- ProofTokenCryptoHandle.cs
- ObfuscateAssemblyAttribute.cs
- DataGridViewCell.cs
- CodeLinePragma.cs
- StrokeIntersection.cs
- XdrBuilder.cs
- ClientConfigPaths.cs
- MetadataImporter.cs
- Decoder.cs
- CodeDirectoryCompiler.cs
- DbProviderFactories.cs
- AssemblyName.cs
- TaiwanLunisolarCalendar.cs
- ConfigurationSection.cs
- WindowAutomationPeer.cs
- DecimalFormatter.cs
- _DigestClient.cs
- CustomCredentialPolicy.cs
- DataGridViewRowPrePaintEventArgs.cs
- WsrmFault.cs
- linebase.cs
- StringFormat.cs
- SettingsProviderCollection.cs
- DateTimePicker.cs
- WebMessageFormatHelper.cs
- SelectorItemAutomationPeer.cs
- BuildProvidersCompiler.cs
- DataException.cs
- Site.cs
- WebBrowserContainer.cs
- PropertyRef.cs
- DynamicValidator.cs
- XmlKeywords.cs
- DataContext.cs
- DataReaderContainer.cs
- srgsitem.cs
- CompiledRegexRunner.cs
- TimelineGroup.cs
- X509Utils.cs
- XmlnsCache.cs
- InvalidOperationException.cs
- Command.cs
- ConfigurationPermission.cs
- PathGradientBrush.cs
- QuotedStringFormatReader.cs
- UnauthorizedAccessException.cs
- ParameterDataSourceExpression.cs
- RotateTransform3D.cs
- safelink.cs
- NameScope.cs
- Metadata.cs
- MachineKeySection.cs
- FontFamilyConverter.cs
- WebPartAuthorizationEventArgs.cs
- DataMemberAttribute.cs
- DispatchWrapper.cs
- IPAddressCollection.cs
- WebPartEditorOkVerb.cs
- PaintValueEventArgs.cs
- UIElementCollection.cs
- StylusSystemGestureEventArgs.cs
- ReadOnlyDataSourceView.cs
- SafeBitVector32.cs
- FileUpload.cs
- TextRunCacheImp.cs
- ListBindingConverter.cs
- GenericTextProperties.cs