Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / textformatting / TextEmbeddedObject.cs / 1 / TextEmbeddedObject.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2004 // // File: TextEmbeddedObject.cs // // Contents: Definition of text embedded object // // Spec: http://avalon/text/DesignDocsAndSpecs/Text%20Formatting%20API.doc // // Created: 1-2-2004 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections; using System.Windows; using System.Windows.Media; using MS.Internal.TextFormatting; namespace System.Windows.Media.TextFormatting { ////// Provide definition for a kind of text content in which measuring, hittesting /// and drawing of the entire content is done in whole. Example of that kind of /// content is a button in the middle of the line. /// public abstract class TextEmbeddedObject : TextRun { ////// Line break condition before text object /// public abstract LineBreakCondition BreakBefore { get; } ////// Line break condition after text object /// public abstract LineBreakCondition BreakAfter { get; } ////// Flag indicates whether text object has fixed size regardless of where /// it is placed within a line /// public abstract bool HasFixedSize { get; } ////// Get text object measurement metrics that will fit within the specified /// remaining width of the paragraph /// /// remaining paragraph width ///text object metrics public abstract TextEmbeddedObjectMetrics Format( double remainingParagraphWidth ); ////// Get computed bounding box of text object /// /// run is drawn from right to left /// run is drawn with its side parallel to baseline ///computed bounding box size of text object public abstract Rect ComputeBoundingBox( bool rightToLeft, bool sideways ); ////// Draw text object /// /// drawing context /// origin where the object is drawn /// run is drawn from right to left /// run is drawn with its side parallel to baseline public abstract void Draw( DrawingContext drawingContext, Point origin, bool rightToLeft, bool sideways ); } ////// Text object properties /// public class TextEmbeddedObjectMetrics { private double _width; private double _height; private double _baseline; ////// Construct a text object size /// /// object width /// object height /// object baseline in ratio relative to run height public TextEmbeddedObjectMetrics( double width, double height, double baseline ) { _width = width; _height = height; _baseline = baseline; } ////// Object width /// public double Width { get { return _width; } } ////// Object height /// ///public double Height { get { return _height; } } /// /// Object baseline in ratio relative to run height /// public double Baseline { get { return _baseline; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2004 // // File: TextEmbeddedObject.cs // // Contents: Definition of text embedded object // // Spec: http://avalon/text/DesignDocsAndSpecs/Text%20Formatting%20API.doc // // Created: 1-2-2004 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections; using System.Windows; using System.Windows.Media; using MS.Internal.TextFormatting; namespace System.Windows.Media.TextFormatting { ////// Provide definition for a kind of text content in which measuring, hittesting /// and drawing of the entire content is done in whole. Example of that kind of /// content is a button in the middle of the line. /// public abstract class TextEmbeddedObject : TextRun { ////// Line break condition before text object /// public abstract LineBreakCondition BreakBefore { get; } ////// Line break condition after text object /// public abstract LineBreakCondition BreakAfter { get; } ////// Flag indicates whether text object has fixed size regardless of where /// it is placed within a line /// public abstract bool HasFixedSize { get; } ////// Get text object measurement metrics that will fit within the specified /// remaining width of the paragraph /// /// remaining paragraph width ///text object metrics public abstract TextEmbeddedObjectMetrics Format( double remainingParagraphWidth ); ////// Get computed bounding box of text object /// /// run is drawn from right to left /// run is drawn with its side parallel to baseline ///computed bounding box size of text object public abstract Rect ComputeBoundingBox( bool rightToLeft, bool sideways ); ////// Draw text object /// /// drawing context /// origin where the object is drawn /// run is drawn from right to left /// run is drawn with its side parallel to baseline public abstract void Draw( DrawingContext drawingContext, Point origin, bool rightToLeft, bool sideways ); } ////// Text object properties /// public class TextEmbeddedObjectMetrics { private double _width; private double _height; private double _baseline; ////// Construct a text object size /// /// object width /// object height /// object baseline in ratio relative to run height public TextEmbeddedObjectMetrics( double width, double height, double baseline ) { _width = width; _height = height; _baseline = baseline; } ////// Object width /// public double Width { get { return _width; } } ////// Object height /// ///public double Height { get { return _height; } } /// /// Object baseline in ratio relative to run height /// public double Baseline { get { return _baseline; } } } } // 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
- ToolStripDropDownClosingEventArgs.cs
- SafeNativeHandle.cs
- DBCommandBuilder.cs
- DataGridLinkButton.cs
- PerformanceCounterCategory.cs
- Decoder.cs
- RIPEMD160Managed.cs
- StructuredTypeInfo.cs
- EventlogProvider.cs
- SoapTypeAttribute.cs
- SecuritySessionServerSettings.cs
- RemotingConfiguration.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- ValueType.cs
- Annotation.cs
- BinarySecretKeyIdentifierClause.cs
- DataSourceGeneratorException.cs
- XAMLParseException.cs
- HttpValueCollection.cs
- CustomDictionarySources.cs
- DataError.cs
- documentation.cs
- StrongName.cs
- InteropBitmapSource.cs
- EntityDataSourceChangedEventArgs.cs
- QueryCacheKey.cs
- DesignTimeXamlWriter.cs
- Compiler.cs
- SimpleRecyclingCache.cs
- PageVisual.cs
- HtmlProps.cs
- SchemaElementLookUpTableEnumerator.cs
- DataGridViewHeaderCell.cs
- FileDialogCustomPlace.cs
- WebPartUserCapability.cs
- TextEditorContextMenu.cs
- PropertyDescriptorComparer.cs
- MemberMaps.cs
- FormatControl.cs
- SecurityVerifiedMessage.cs
- TemplateInstanceAttribute.cs
- TransactedReceiveScope.cs
- PassportAuthentication.cs
- PeerInvitationResponse.cs
- MiniParameterInfo.cs
- QueryCacheEntry.cs
- CapabilitiesPattern.cs
- TagPrefixAttribute.cs
- XpsResource.cs
- CellQuery.cs
- SessionParameter.cs
- LayoutTable.cs
- AvTrace.cs
- XmlAttributeCache.cs
- TextSelectionHighlightLayer.cs
- NoneExcludedImageIndexConverter.cs
- AssemblyInfo.cs
- WebWorkflowRole.cs
- NavigateUrlConverter.cs
- SymbolResolver.cs
- RuntimeDelegateArgument.cs
- TextTrailingCharacterEllipsis.cs
- CallbackValidator.cs
- StringDictionaryWithComparer.cs
- ConfigurationValues.cs
- SessionStateModule.cs
- WizardStepCollectionEditor.cs
- PerformanceCounterManager.cs
- C14NUtil.cs
- WorkflowEventArgs.cs
- XmlReflectionImporter.cs
- JapaneseLunisolarCalendar.cs
- TypeDescriptionProviderAttribute.cs
- _CacheStreams.cs
- MasterPageBuildProvider.cs
- XpsResourcePolicy.cs
- XAMLParseException.cs
- StorageScalarPropertyMapping.cs
- MobileListItemCollection.cs
- TablePattern.cs
- SqlDuplicator.cs
- ChangeToolStripParentVerb.cs
- ApplicationId.cs
- DSASignatureFormatter.cs
- DataGridViewCellStateChangedEventArgs.cs
- LOSFormatter.cs
- BitmapDownload.cs
- SiteMapDataSource.cs
- CommandHelper.cs
- NullableBoolConverter.cs
- PrimitiveType.cs
- TextReader.cs
- BrowserCapabilitiesFactory.cs
- UdpUtility.cs
- CircleHotSpot.cs
- SpoolingTaskBase.cs
- SQLMoneyStorage.cs
- DaylightTime.cs
- DataGridViewImageCell.cs
- UpdateException.cs