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
- DeferrableContentConverter.cs
- Bidi.cs
- ClassHandlersStore.cs
- DataServiceProviderMethods.cs
- VisualStyleElement.cs
- ReferentialConstraint.cs
- DataMemberAttribute.cs
- NonDualMessageSecurityOverHttp.cs
- OverlappedContext.cs
- XmlWhitespace.cs
- GridViewColumnHeader.cs
- FactoryMaker.cs
- DirectoryRedirect.cs
- XmlMembersMapping.cs
- PermissionToken.cs
- Rotation3DAnimationUsingKeyFrames.cs
- SaveFileDialog.cs
- SettingsPropertyValueCollection.cs
- BufferedStream2.cs
- ChildDocumentBlock.cs
- WebPartTransformer.cs
- PageEventArgs.cs
- EncryptedPackageFilter.cs
- HttpCapabilitiesBase.cs
- LassoHelper.cs
- IndentTextWriter.cs
- ExpressionLexer.cs
- HostVisual.cs
- SignerInfo.cs
- OutputCacheSettings.cs
- DataListComponentEditor.cs
- GenerateTemporaryTargetAssembly.cs
- DataGridColumnCollection.cs
- SQLConvert.cs
- DBConnectionString.cs
- DataGridViewEditingControlShowingEventArgs.cs
- HelpProvider.cs
- RegexCaptureCollection.cs
- WebPartDisplayMode.cs
- Decimal.cs
- BigInt.cs
- TypefaceMap.cs
- CompilerCollection.cs
- MasterPageBuildProvider.cs
- SizeF.cs
- LongValidator.cs
- EmptyControlCollection.cs
- VisualProxy.cs
- DescendantOverDescendantQuery.cs
- MetaModel.cs
- TokenBasedSetEnumerator.cs
- NotifyParentPropertyAttribute.cs
- EdmItemCollection.cs
- ImageUrlEditor.cs
- XmlEventCache.cs
- HealthMonitoringSection.cs
- BezierSegment.cs
- BehaviorEditorPart.cs
- ProjectionAnalyzer.cs
- VisualStyleRenderer.cs
- MimeParameters.cs
- FormatSettings.cs
- sqlser.cs
- WindowsImpersonationContext.cs
- AdPostCacheSubstitution.cs
- Rect3D.cs
- WorkflowRuntimeServiceElementCollection.cs
- KeyProperty.cs
- Helpers.cs
- WorkflowRuntimeServiceElement.cs
- XmlNamespaceMapping.cs
- WebControl.cs
- MetadataArtifactLoaderFile.cs
- AutoSizeToolBoxItem.cs
- PageFunction.cs
- ProfileInfo.cs
- MarshalDirectiveException.cs
- GraphicsState.cs
- DataControlImageButton.cs
- CompositeDesignerAccessibleObject.cs
- SQLInt16.cs
- TripleDESCryptoServiceProvider.cs
- TableLayoutPanelCellPosition.cs
- MeshGeometry3D.cs
- Adorner.cs
- NoPersistProperty.cs
- ChangeBlockUndoRecord.cs
- SequenceRangeCollection.cs
- DataGridCell.cs
- ObjectStateManagerMetadata.cs
- PreservationFileReader.cs
- XmlImplementation.cs
- Publisher.cs
- TaskFileService.cs
- SaveFileDialog.cs
- UIElementAutomationPeer.cs
- XXXOnTypeBuilderInstantiation.cs
- ScrollItemPatternIdentifiers.cs
- BaseCodeDomTreeGenerator.cs
- WebPartConnectionsConfigureVerb.cs