Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / textformatting / TextEmbeddedObject.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyIdentifier.cs
- SerialPinChanges.cs
- XmlAggregates.cs
- LogicalTreeHelper.cs
- SqlConnectionPoolGroupProviderInfo.cs
- DocumentViewerAutomationPeer.cs
- ManipulationVelocities.cs
- EncoderExceptionFallback.cs
- EntityParameter.cs
- TemplateBaseAction.cs
- IList.cs
- FloatUtil.cs
- RuntimeVariableList.cs
- ModelVisual3D.cs
- MoveSizeWinEventHandler.cs
- DesignerProperties.cs
- x509utils.cs
- ConfigurationFileMap.cs
- TableRowGroup.cs
- TTSEngineTypes.cs
- CodeIdentifier.cs
- RSAOAEPKeyExchangeDeformatter.cs
- documentsequencetextcontainer.cs
- _SSPIWrapper.cs
- RTTypeWrapper.cs
- ConfigXmlDocument.cs
- DetailsViewRow.cs
- XmlSchemaInclude.cs
- UriTemplateDispatchFormatter.cs
- EventWaitHandleSecurity.cs
- DesignerProperties.cs
- DefaultValueAttribute.cs
- EventProviderWriter.cs
- C14NUtil.cs
- Nullable.cs
- VoiceInfo.cs
- BufferedWebEventProvider.cs
- PiiTraceSource.cs
- InvokeSchedule.cs
- ConnectionPointCookie.cs
- XPathDocumentBuilder.cs
- PowerStatus.cs
- WebConfigurationHostFileChange.cs
- WmpBitmapEncoder.cs
- ApplicationActivator.cs
- ProcessProtocolHandler.cs
- EventData.cs
- XmlNamedNodeMap.cs
- WsdlInspector.cs
- DetailsViewPagerRow.cs
- XPathDocumentNavigator.cs
- BuildProvider.cs
- FieldAccessException.cs
- DrawingContext.cs
- CompositeControl.cs
- TypefaceMap.cs
- AnimationLayer.cs
- DataGridViewComboBoxColumnDesigner.cs
- ScriptingAuthenticationServiceSection.cs
- IResourceProvider.cs
- DtrList.cs
- ResourceDictionary.cs
- TaiwanCalendar.cs
- CapabilitiesRule.cs
- AuthenticatedStream.cs
- PixelShader.cs
- IIS7UserPrincipal.cs
- ChannelRequirements.cs
- FileCodeGroup.cs
- webeventbuffer.cs
- XmlSchemaAnnotation.cs
- FormViewUpdatedEventArgs.cs
- WorkflowApplicationException.cs
- NumberSubstitution.cs
- UnauthorizedAccessException.cs
- HeaderCollection.cs
- AssemblyInfo.cs
- ByteConverter.cs
- coordinatorfactory.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- TcpSocketManager.cs
- PeerOutputChannel.cs
- ConfigurationUtility.cs
- TraceContextRecord.cs
- DockPatternIdentifiers.cs
- IndentTextWriter.cs
- ScriptingRoleServiceSection.cs
- GuidelineSet.cs
- TableNameAttribute.cs
- Stroke.cs
- ProcessModelInfo.cs
- Point3DCollection.cs
- RectAnimationUsingKeyFrames.cs
- Console.cs
- DeflateStream.cs
- ToolstripProfessionalRenderer.cs
- PointConverter.cs
- MessageQueueConverter.cs
- TrackingDataItem.cs
- RetrieveVirtualItemEventArgs.cs