Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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: [....]/text/DesignDocsAndSpecs/Text%20Formatting%20API.doc // // Created: 1-2-2004 [....] ([....]) // //----------------------------------------------------------------------- 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
- DistinctQueryOperator.cs
- FileDialog.cs
- ImageFormatConverter.cs
- CultureSpecificStringDictionary.cs
- Button.cs
- Identifier.cs
- ToolStripItemGlyph.cs
- ProgressChangedEventArgs.cs
- DataView.cs
- ImageAnimator.cs
- EntityDataSourceSelectedEventArgs.cs
- TemplateKeyConverter.cs
- XMLSchema.cs
- unsafeIndexingFilterStream.cs
- Point3DValueSerializer.cs
- HighlightComponent.cs
- EncoderReplacementFallback.cs
- OracleColumn.cs
- Context.cs
- CornerRadiusConverter.cs
- XmlValueConverter.cs
- ImageSourceConverter.cs
- DataGridItem.cs
- ReliableChannelFactory.cs
- _LazyAsyncResult.cs
- ListManagerBindingsCollection.cs
- EntityTypeBase.cs
- BooleanExpr.cs
- SynchronousReceiveBehavior.cs
- ValidationRule.cs
- Image.cs
- ImageConverter.cs
- OdbcConnectionString.cs
- BmpBitmapDecoder.cs
- ToolStripSettings.cs
- WorkflowMarkupSerializationProvider.cs
- TripleDESCryptoServiceProvider.cs
- MatrixCamera.cs
- URL.cs
- Deserializer.cs
- Configuration.cs
- ActivityPreviewDesigner.cs
- ListViewPagedDataSource.cs
- Propagator.cs
- XmlSchemaSimpleType.cs
- ProgressiveCrcCalculatingStream.cs
- TextRenderer.cs
- WebEncodingValidator.cs
- CodeDirectoryCompiler.cs
- ExpandableObjectConverter.cs
- ControlBuilderAttribute.cs
- ProcessInputEventArgs.cs
- IdentityManager.cs
- CallSite.cs
- HttpCacheParams.cs
- CharacterMetricsDictionary.cs
- RichListBox.cs
- PartitionerStatic.cs
- CustomCategoryAttribute.cs
- MenuItemBinding.cs
- Module.cs
- HttpRequest.cs
- ServicesExceptionNotHandledEventArgs.cs
- XNodeSchemaApplier.cs
- DesignerDataParameter.cs
- AddInToken.cs
- AssemblyCacheEntry.cs
- TemplateNodeContextMenu.cs
- RuleEngine.cs
- SelectionRangeConverter.cs
- SqlSelectStatement.cs
- SqlInternalConnection.cs
- Form.cs
- FrameworkContentElementAutomationPeer.cs
- LinkClickEvent.cs
- OutOfMemoryException.cs
- OdbcRowUpdatingEvent.cs
- RijndaelManagedTransform.cs
- New.cs
- BuildTopDownAttribute.cs
- StickyNoteHelper.cs
- Underline.cs
- InheritedPropertyDescriptor.cs
- TemplateControlParser.cs
- ProxyAssemblyNotLoadedException.cs
- HtmlTableCellCollection.cs
- GestureRecognizer.cs
- UpdateTranslator.cs
- DesignTimeTemplateParser.cs
- NullableLongAverageAggregationOperator.cs
- SpnegoTokenProvider.cs
- RequestUriProcessor.cs
- MembershipPasswordException.cs
- XmlSchemaExternal.cs
- Crc32.cs
- RegexCode.cs
- XmlHierarchicalEnumerable.cs
- InfoCardTrace.cs
- XamlVector3DCollectionSerializer.cs
- WebConfigurationManager.cs