Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / MS / Internal / PtsHost / TextFormatterHost.cs / 1 / TextFormatterHost.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: ContainerParagraph.cs
//
// Description: TextFormatter host.
//
// History:
// 05/05/2003 : grzegorz - moving from Avalon branch.
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.TextFormatting;
namespace MS.Internal.PtsHost
{
// ---------------------------------------------------------------------
// TextFormatter host.
// ---------------------------------------------------------------------
internal sealed class TextFormatterHost : TextSource
{
internal TextFormatterHost(TextFormatter textFormatter)
{
if(textFormatter == null)
{
TextFormatter = TextFormatter.FromCurrentDispatcher();
}
else
{
TextFormatter = textFormatter;
}
}
//--------------------------------------------------------------------
// GetTextRun
//-------------------------------------------------------------------
public override TextRun GetTextRun(int textSourceCharacterIndex)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndex >= 0, "Character index must be non-negative.");
return Context.GetTextRun(textSourceCharacterIndex);
}
//--------------------------------------------------------------------
// GetPrecedingText
//--------------------------------------------------------------------
public override TextSpan GetPrecedingText(int textSourceCharacterIndexLimit)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndexLimit >= 0, "Character index must be non-negative.");
return Context.GetPrecedingText(textSourceCharacterIndexLimit);
}
///
/// TextFormatter to map a text source character index to a text effect character index
///
/// text source character index
/// the text effect index corresponding to the text effect character index
public override int GetTextEffectCharacterIndexFromTextSourceCharacterIndex(
int textSourceCharacterIndex
)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndex>= 0, "Character index must be non-negative.");
return Context.GetTextEffectCharacterIndexFromTextSourceCharacterIndex(textSourceCharacterIndex);
}
//-------------------------------------------------------------------
// TextFormatterHost context, object responsible for providing
// formatting information.
//--------------------------------------------------------------------
internal LineBase Context;
//-------------------------------------------------------------------
// TextFormatter.
//-------------------------------------------------------------------
internal TextFormatter TextFormatter;
}
}
// 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: ContainerParagraph.cs
//
// Description: TextFormatter host.
//
// History:
// 05/05/2003 : grzegorz - moving from Avalon branch.
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.TextFormatting;
namespace MS.Internal.PtsHost
{
// ---------------------------------------------------------------------
// TextFormatter host.
// ---------------------------------------------------------------------
internal sealed class TextFormatterHost : TextSource
{
internal TextFormatterHost(TextFormatter textFormatter)
{
if(textFormatter == null)
{
TextFormatter = TextFormatter.FromCurrentDispatcher();
}
else
{
TextFormatter = textFormatter;
}
}
//--------------------------------------------------------------------
// GetTextRun
//-------------------------------------------------------------------
public override TextRun GetTextRun(int textSourceCharacterIndex)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndex >= 0, "Character index must be non-negative.");
return Context.GetTextRun(textSourceCharacterIndex);
}
//--------------------------------------------------------------------
// GetPrecedingText
//--------------------------------------------------------------------
public override TextSpan GetPrecedingText(int textSourceCharacterIndexLimit)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndexLimit >= 0, "Character index must be non-negative.");
return Context.GetPrecedingText(textSourceCharacterIndexLimit);
}
///
/// TextFormatter to map a text source character index to a text effect character index
///
/// text source character index
/// the text effect index corresponding to the text effect character index
public override int GetTextEffectCharacterIndexFromTextSourceCharacterIndex(
int textSourceCharacterIndex
)
{
Debug.Assert(Context != null, "TextFormatter host is not initialized.");
Debug.Assert(textSourceCharacterIndex>= 0, "Character index must be non-negative.");
return Context.GetTextEffectCharacterIndexFromTextSourceCharacterIndex(textSourceCharacterIndex);
}
//-------------------------------------------------------------------
// TextFormatterHost context, object responsible for providing
// formatting information.
//--------------------------------------------------------------------
internal LineBase Context;
//-------------------------------------------------------------------
// TextFormatter.
//-------------------------------------------------------------------
internal TextFormatter TextFormatter;
}
}
// 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
- XmlnsPrefixAttribute.cs
- AttributeUsageAttribute.cs
- DeadCharTextComposition.cs
- PeerNeighborManager.cs
- SBCSCodePageEncoding.cs
- ProviderConnectionPoint.cs
- DataGridViewHitTestInfo.cs
- InternalPermissions.cs
- EntityDataSourceQueryBuilder.cs
- Property.cs
- TraceHandler.cs
- GridItem.cs
- SBCSCodePageEncoding.cs
- NotificationContext.cs
- MorphHelper.cs
- SequentialWorkflowHeaderFooter.cs
- TokenCreationParameter.cs
- ResXResourceWriter.cs
- JoinGraph.cs
- PackageRelationshipCollection.cs
- ToolStripManager.cs
- CmsInterop.cs
- ThreadAbortException.cs
- SafeTimerHandle.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- LinqDataSourceValidationException.cs
- DataGridItemEventArgs.cs
- StubHelpers.cs
- ValueUtilsSmi.cs
- TrackingSection.cs
- EdmPropertyAttribute.cs
- EventLogReader.cs
- AliasExpr.cs
- ContextConfiguration.cs
- FileUpload.cs
- ActiveDesignSurfaceEvent.cs
- DataPagerFieldCommandEventArgs.cs
- ClientSettingsStore.cs
- PointValueSerializer.cs
- MessageEncodingBindingElement.cs
- Size.cs
- CodeCatchClause.cs
- AmbientLight.cs
- LineUtil.cs
- XamlReaderHelper.cs
- ProcessThreadCollection.cs
- TreeViewImageGenerator.cs
- GiveFeedbackEvent.cs
- Encoder.cs
- NullEntityWrapper.cs
- XmlSchemaExporter.cs
- regiisutil.cs
- DropShadowBitmapEffect.cs
- State.cs
- StretchValidation.cs
- InvalidCardException.cs
- MouseEventArgs.cs
- ParenthesizePropertyNameAttribute.cs
- ServiceHostFactory.cs
- DropDownHolder.cs
- ScrollChangedEventArgs.cs
- NamespaceDecl.cs
- ToolBarButtonClickEvent.cs
- DialogResultConverter.cs
- DataGridViewCellStyle.cs
- TextParagraph.cs
- DataGridViewColumnHeaderCell.cs
- StyleBamlTreeBuilder.cs
- DrawingGroupDrawingContext.cs
- ToolboxItemFilterAttribute.cs
- DbConnectionStringBuilder.cs
- DateTimeStorage.cs
- RuleSettings.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- CodeAccessPermission.cs
- TypeDelegator.cs
- TextBoxBase.cs
- Message.cs
- DrawingImage.cs
- DocobjHost.cs
- ExpressionEditorAttribute.cs
- ImageDrawing.cs
- unsafenativemethodstextservices.cs
- XmlQualifiedName.cs
- ChannelManager.cs
- GridErrorDlg.cs
- DashStyles.cs
- ButtonBase.cs
- OdbcConnectionPoolProviderInfo.cs
- ContextBase.cs
- BuildProvidersCompiler.cs
- AssemblyBuilderData.cs
- PasswordPropertyTextAttribute.cs
- BinarySerializer.cs
- Classification.cs
- SqlResolver.cs
- EdmEntityTypeAttribute.cs
- ConsoleKeyInfo.cs
- TypeNameConverter.cs
- ActivationArguments.cs