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
- EndSelectCardRequest.cs
- controlskin.cs
- Size.cs
- EdmType.cs
- ApplicationSecurityManager.cs
- Exceptions.cs
- EncoderParameter.cs
- _BasicClient.cs
- HitTestWithPointDrawingContextWalker.cs
- UrlPropertyAttribute.cs
- Types.cs
- CommonServiceBehaviorElement.cs
- ListViewInsertedEventArgs.cs
- InfoCardProofToken.cs
- AmbientProperties.cs
- PropertyPushdownHelper.cs
- Keywords.cs
- ReflectionPermission.cs
- InArgument.cs
- AppSecurityManager.cs
- NativeCppClassAttribute.cs
- ExpandCollapsePattern.cs
- HttpContext.cs
- ModelFunctionTypeElement.cs
- NetStream.cs
- FixedTextSelectionProcessor.cs
- SafeEventLogReadHandle.cs
- ObjectNavigationPropertyMapping.cs
- CompareValidator.cs
- QueryableDataSourceEditData.cs
- printdlgexmarshaler.cs
- NullableFloatAverageAggregationOperator.cs
- EntitySqlQueryState.cs
- PagedDataSource.cs
- mongolianshape.cs
- NativeCompoundFileAPIs.cs
- CqlIdentifiers.cs
- WebUtil.cs
- xmlsaver.cs
- SqlDataAdapter.cs
- ServicePointManager.cs
- DeploymentSection.cs
- PagerSettings.cs
- GuidelineSet.cs
- Panel.cs
- SiteOfOriginPart.cs
- SoapReflectionImporter.cs
- ComponentResourceKeyConverter.cs
- SymDocumentType.cs
- ColorAnimation.cs
- JapaneseLunisolarCalendar.cs
- RequestCache.cs
- XmlIlTypeHelper.cs
- Repeater.cs
- Attribute.cs
- ProfileService.cs
- UriTemplateTrieNode.cs
- SerializerDescriptor.cs
- XsltLoader.cs
- ColumnResult.cs
- StylusPointPropertyId.cs
- EncoderExceptionFallback.cs
- FieldDescriptor.cs
- JavaScriptString.cs
- RichTextBox.cs
- Tracking.cs
- EntityContainer.cs
- CustomAttributeBuilder.cs
- TextEndOfLine.cs
- ClientEventManager.cs
- InfoCardTraceRecord.cs
- AttributeCallbackBuilder.cs
- SoapIgnoreAttribute.cs
- COM2Properties.cs
- EntryWrittenEventArgs.cs
- XmlAttributeAttribute.cs
- CultureInfo.cs
- WindowVisualStateTracker.cs
- MouseEventArgs.cs
- SyndicationFeedFormatter.cs
- EndOfStreamException.cs
- PartitionResolver.cs
- RefExpr.cs
- RegistryKey.cs
- SqlDataReader.cs
- AppSettingsReader.cs
- SortExpressionBuilder.cs
- SoapInteropTypes.cs
- SplashScreenNativeMethods.cs
- WorkflowOperationInvoker.cs
- ApplicationServiceManager.cs
- SQLStringStorage.cs
- DataTemplateKey.cs
- CommandLibraryHelper.cs
- EntitySetBase.cs
- Point3DCollectionValueSerializer.cs
- TagPrefixInfo.cs
- TextFormatterContext.cs
- FixedHighlight.cs
- Win32.cs