Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / PtsHost / UpdateRecord.cs / 1305600 / UpdateRecord.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: UpdateRecord.cs
//
// Description: Contains information about current state of upate process
// in the current container paragraph.
//
// History:
// 05/05/2003 : [....] - moving from Avalon branch.
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using MS.Internal.PtsHost.UnsafeNativeMethods;
namespace MS.Internal.PtsHost
{
// ---------------------------------------------------------------------
// Contains information about current state of upate process in the
// current container paragraph.
// ---------------------------------------------------------------------
internal sealed class UpdateRecord
{
// ------------------------------------------------------------------
// Constructor
// -----------------------------------------------------------------
internal UpdateRecord()
{
Dtr = new DirtyTextRange(0,0,0);
FirstPara = SyncPara = null;
ChangeType = PTS.FSKCHANGE.fskchNone;
Next = null;
InProcessing = false;
}
// ------------------------------------------------------------------
// Merge with next update record.
// ------------------------------------------------------------------
internal void MergeWithNext()
{
Debug.Assert(Next != null); // This is the last UR, cannot merge with next.
// Merge DTRs
int delta = Next.Dtr.StartIndex - Dtr.StartIndex;
// Dtr.StartIndex is not changing
Dtr.PositionsAdded += delta + Next.Dtr.PositionsAdded;
Dtr.PositionsRemoved += delta + Next.Dtr.PositionsRemoved;
// Reasign [....] point and next UpdateRecord
SyncPara = Next.SyncPara;
Next = Next.Next;
}
// -----------------------------------------------------------------
// Dirty text range.
// ------------------------------------------------------------------
internal DirtyTextRange Dtr;
// -----------------------------------------------------------------
// The first paragraph affected by the change.
// -----------------------------------------------------------------
internal BaseParagraph FirstPara;
// -----------------------------------------------------------------
// The first paragraph not affected by DTR, synchronization point for
// update process.
// ------------------------------------------------------------------
internal BaseParagraph SyncPara;
// -----------------------------------------------------------------
// Type of the change (none, new, inside).
// ------------------------------------------------------------------
internal PTS.FSKCHANGE ChangeType;
// ------------------------------------------------------------------
// Next UpdateRecord.
// -----------------------------------------------------------------
internal UpdateRecord Next;
// ------------------------------------------------------------------
// Update record is in processing mode?
// -----------------------------------------------------------------
internal bool InProcessing;
}
}
// 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: UpdateRecord.cs
//
// Description: Contains information about current state of upate process
// in the current container paragraph.
//
// History:
// 05/05/2003 : [....] - moving from Avalon branch.
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using MS.Internal.PtsHost.UnsafeNativeMethods;
namespace MS.Internal.PtsHost
{
// ---------------------------------------------------------------------
// Contains information about current state of upate process in the
// current container paragraph.
// ---------------------------------------------------------------------
internal sealed class UpdateRecord
{
// ------------------------------------------------------------------
// Constructor
// -----------------------------------------------------------------
internal UpdateRecord()
{
Dtr = new DirtyTextRange(0,0,0);
FirstPara = SyncPara = null;
ChangeType = PTS.FSKCHANGE.fskchNone;
Next = null;
InProcessing = false;
}
// ------------------------------------------------------------------
// Merge with next update record.
// ------------------------------------------------------------------
internal void MergeWithNext()
{
Debug.Assert(Next != null); // This is the last UR, cannot merge with next.
// Merge DTRs
int delta = Next.Dtr.StartIndex - Dtr.StartIndex;
// Dtr.StartIndex is not changing
Dtr.PositionsAdded += delta + Next.Dtr.PositionsAdded;
Dtr.PositionsRemoved += delta + Next.Dtr.PositionsRemoved;
// Reasign [....] point and next UpdateRecord
SyncPara = Next.SyncPara;
Next = Next.Next;
}
// -----------------------------------------------------------------
// Dirty text range.
// ------------------------------------------------------------------
internal DirtyTextRange Dtr;
// -----------------------------------------------------------------
// The first paragraph affected by the change.
// -----------------------------------------------------------------
internal BaseParagraph FirstPara;
// -----------------------------------------------------------------
// The first paragraph not affected by DTR, synchronization point for
// update process.
// ------------------------------------------------------------------
internal BaseParagraph SyncPara;
// -----------------------------------------------------------------
// Type of the change (none, new, inside).
// ------------------------------------------------------------------
internal PTS.FSKCHANGE ChangeType;
// ------------------------------------------------------------------
// Next UpdateRecord.
// -----------------------------------------------------------------
internal UpdateRecord Next;
// ------------------------------------------------------------------
// Update record is in processing mode?
// -----------------------------------------------------------------
internal bool InProcessing;
}
}
// 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
- TextRenderer.cs
- NamespaceEmitter.cs
- FunctionQuery.cs
- RawMouseInputReport.cs
- Tracking.cs
- FastEncoderWindow.cs
- GlyphRun.cs
- ProfileManager.cs
- DeflateStream.cs
- ComMethodElementCollection.cs
- ParameterToken.cs
- Thread.cs
- SettingsSection.cs
- _AutoWebProxyScriptEngine.cs
- InputLanguageEventArgs.cs
- MessageQueueAccessControlEntry.cs
- EFDataModelProvider.cs
- JournalEntryStack.cs
- ManagementObjectSearcher.cs
- SimpleTextLine.cs
- TargetPerspective.cs
- UserNamePasswordValidator.cs
- TableRowGroup.cs
- XmlCharCheckingWriter.cs
- GridViewSortEventArgs.cs
- EntityTemplateFactory.cs
- TextTreeObjectNode.cs
- EntityException.cs
- _LazyAsyncResult.cs
- IsolatedStoragePermission.cs
- XdrBuilder.cs
- TemplateBuilder.cs
- DoubleLinkListEnumerator.cs
- Argument.cs
- Parsers.cs
- QueryAccessibilityHelpEvent.cs
- XmlWrappingWriter.cs
- SelectionEditingBehavior.cs
- MsmqProcessProtocolHandler.cs
- templategroup.cs
- XPSSignatureDefinition.cs
- ObjectCloneHelper.cs
- StateMachineWorkflowInstance.cs
- CombinedGeometry.cs
- SQLInt64.cs
- FunctionImportElement.cs
- CFStream.cs
- WebPartRestoreVerb.cs
- DelegateInArgument.cs
- GridViewCancelEditEventArgs.cs
- ModulesEntry.cs
- WinFormsSpinner.cs
- PersonalizationEntry.cs
- IconHelper.cs
- SoapEnvelopeProcessingElement.cs
- ButtonRenderer.cs
- RuntimeEnvironment.cs
- SQLCharsStorage.cs
- GeometryGroup.cs
- NavigationProperty.cs
- IDataContractSurrogate.cs
- HyperLinkDataBindingHandler.cs
- BufferedOutputStream.cs
- QueryCacheKey.cs
- HtmlMobileTextWriter.cs
- X509UI.cs
- ToolStripEditorManager.cs
- ArcSegment.cs
- ButtonColumn.cs
- Context.cs
- TripleDESCryptoServiceProvider.cs
- DataColumnMapping.cs
- MetadataWorkspace.cs
- InteropAutomationProvider.cs
- MailMessageEventArgs.cs
- WebPartEditorCancelVerb.cs
- sqlpipe.cs
- SQLBinary.cs
- InvalidEnumArgumentException.cs
- MimeFormatter.cs
- BamlVersionHeader.cs
- EncodingInfo.cs
- AnnotationStore.cs
- OleDbCommand.cs
- SuppressedPackageProperties.cs
- SvcFileManager.cs
- GridViewDeleteEventArgs.cs
- SectionVisual.cs
- GradientBrush.cs
- SessionStateUtil.cs
- ReservationNotFoundException.cs
- CompositeScriptReference.cs
- ReflectEventDescriptor.cs
- SerializationException.cs
- TextBox.cs
- xmlsaver.cs
- HandledMouseEvent.cs
- SizeAnimation.cs
- SecurityManager.cs
- CancellationState.cs