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
- MissingMemberException.cs
- RoleGroupCollectionEditor.cs
- CurrentChangedEventManager.cs
- ProfilePropertySettingsCollection.cs
- DropSource.cs
- EnumMember.cs
- PageAdapter.cs
- EventLogPermissionAttribute.cs
- ConstraintManager.cs
- ResourceProviderFactory.cs
- GradientStop.cs
- _LocalDataStore.cs
- DiscardableAttribute.cs
- FactoryGenerator.cs
- TableLayoutCellPaintEventArgs.cs
- DLinqColumnProvider.cs
- SoapCommonClasses.cs
- odbcmetadatafactory.cs
- DataServiceConfiguration.cs
- Pkcs9Attribute.cs
- XPathChildIterator.cs
- WindowsListView.cs
- View.cs
- BufferedGraphics.cs
- DataGridViewMethods.cs
- RuntimeIdentifierPropertyAttribute.cs
- CookielessHelper.cs
- TemplateBindingExtensionConverter.cs
- ComplexLine.cs
- XmlQueryTypeFactory.cs
- ClientProtocol.cs
- ToolTipService.cs
- columnmapkeybuilder.cs
- InvalidOperationException.cs
- WebServiceResponse.cs
- BrowsableAttribute.cs
- XmlAttributes.cs
- BuildResultCache.cs
- XmlEntity.cs
- LockCookie.cs
- MouseWheelEventArgs.cs
- Int16KeyFrameCollection.cs
- UnitySerializationHolder.cs
- TargetControlTypeAttribute.cs
- ReplyChannelAcceptor.cs
- RectangleGeometry.cs
- RequestQueryParser.cs
- RegexCaptureCollection.cs
- ErrorHandler.cs
- SqlClientPermission.cs
- ContentType.cs
- DataRelationPropertyDescriptor.cs
- InstancePersistenceEvent.cs
- LogLogRecord.cs
- X509RecipientCertificateServiceElement.cs
- RequestSecurityTokenResponse.cs
- SrgsElementFactory.cs
- SystemException.cs
- Simplifier.cs
- WindowsSolidBrush.cs
- ColorPalette.cs
- IDispatchConstantAttribute.cs
- MultiSelectRootGridEntry.cs
- UserControl.cs
- LogicalTreeHelper.cs
- DeploymentSection.cs
- SharedStatics.cs
- ButtonBase.cs
- BuildProvider.cs
- JapaneseLunisolarCalendar.cs
- GeneralTransformCollection.cs
- InstanceData.cs
- DrawingContextWalker.cs
- System.Data.OracleClient_BID.cs
- SafeArchiveContext.cs
- UDPClient.cs
- XsltArgumentList.cs
- DataView.cs
- Wildcard.cs
- ExclusiveTcpListener.cs
- TextProviderWrapper.cs
- XmlDomTextWriter.cs
- DesignerAutoFormatCollection.cs
- IPAddress.cs
- securestring.cs
- SqlConnection.cs
- ProfilePropertySettingsCollection.cs
- DrawingState.cs
- PersonalizationProviderHelper.cs
- ProofTokenCryptoHandle.cs
- AlphabetConverter.cs
- TextLine.cs
- CharEnumerator.cs
- CodeCompileUnit.cs
- XPathBinder.cs
- _ContextAwareResult.cs
- SSmlParser.cs
- DocumentManager.cs
- Font.cs
- SecurityTokenProviderContainer.cs