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
- DataStorage.cs
- ConfigXmlReader.cs
- KeyEventArgs.cs
- GridErrorDlg.cs
- AppDomainAttributes.cs
- FileDataSourceCache.cs
- ProfilePropertySettings.cs
- NativeCppClassAttribute.cs
- DbProviderManifest.cs
- WMIInterop.cs
- WindowsButton.cs
- BasicSecurityProfileVersion.cs
- TimeoutStream.cs
- CombinedGeometry.cs
- TreeViewAutomationPeer.cs
- Vector3DValueSerializer.cs
- ReflectPropertyDescriptor.cs
- CryptoApi.cs
- Bezier.cs
- ArgIterator.cs
- PopupEventArgs.cs
- KeyConverter.cs
- PenContext.cs
- TypeLibConverter.cs
- SafeFileMappingHandle.cs
- EventWaitHandleSecurity.cs
- FusionWrap.cs
- AttachedPropertiesService.cs
- CodeDOMProvider.cs
- Visitor.cs
- GeneralTransformGroup.cs
- SmiRecordBuffer.cs
- DependencyObjectValidator.cs
- HttpChannelHelper.cs
- KeyValuePairs.cs
- Roles.cs
- XsltInput.cs
- DataSourceProvider.cs
- LinqDataSourceDeleteEventArgs.cs
- RectangleGeometry.cs
- WebPartUtil.cs
- SqlProfileProvider.cs
- PagesChangedEventArgs.cs
- StrokeNodeEnumerator.cs
- ErrorEventArgs.cs
- _RequestLifetimeSetter.cs
- DataTableMapping.cs
- Int16AnimationUsingKeyFrames.cs
- CompilationSection.cs
- Deflater.cs
- CapabilitiesSection.cs
- AsyncStreamReader.cs
- TagMapInfo.cs
- WebPartCloseVerb.cs
- XmlBinaryReader.cs
- CellParaClient.cs
- ZoomingMessageFilter.cs
- Repeater.cs
- RuleConditionDialog.Designer.cs
- Vector3DConverter.cs
- ApplicationTrust.cs
- DataGridViewLayoutData.cs
- TextServicesManager.cs
- WebPartTransformerAttribute.cs
- assemblycache.cs
- KeyedCollection.cs
- XmlUnspecifiedAttribute.cs
- UserPreferenceChangingEventArgs.cs
- TextBoxAutoCompleteSourceConverter.cs
- TableLayoutSettingsTypeConverter.cs
- WebPartUtil.cs
- SHA512Managed.cs
- LinkLabel.cs
- ElasticEase.cs
- AsyncOperationContext.cs
- LifetimeServices.cs
- Decimal.cs
- TypeValidationEventArgs.cs
- TextServicesHost.cs
- ProxyHwnd.cs
- Console.cs
- StringCollection.cs
- JavaScriptSerializer.cs
- AutomationPropertyInfo.cs
- CompressStream.cs
- PublisherIdentityPermission.cs
- XMLSchema.cs
- PerformanceCounterManager.cs
- BaseCodeDomTreeGenerator.cs
- TableCell.cs
- SerializationException.cs
- _ConnectStream.cs
- DataControlFieldsEditor.cs
- NameHandler.cs
- XmlElementCollection.cs
- Hash.cs
- FieldMetadata.cs
- DefaultTextStore.cs
- ObjectDataSourceEventArgs.cs
- TemplateAction.cs