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
- EntityDataSource.cs
- WebPartConnectionsCancelVerb.cs
- Decorator.cs
- ThreadAttributes.cs
- XmlImplementation.cs
- HtmlInputControl.cs
- SafeViewOfFileHandle.cs
- RootProfilePropertySettingsCollection.cs
- LinqDataSource.cs
- ScriptReference.cs
- KeyFrames.cs
- TextBlock.cs
- SqlStream.cs
- SqlConnection.cs
- XmlTypeMapping.cs
- MulticastDelegate.cs
- FixedFlowMap.cs
- DataGrid.cs
- XmlTextEncoder.cs
- SystemFonts.cs
- PriorityItem.cs
- SigningCredentials.cs
- TimeZone.cs
- SqlDependency.cs
- SqlCrossApplyToCrossJoin.cs
- TrackingWorkflowEventArgs.cs
- LostFocusEventManager.cs
- CornerRadius.cs
- InitializationEventAttribute.cs
- MasterPageCodeDomTreeGenerator.cs
- SelectionPattern.cs
- XamlWriter.cs
- MimeBasePart.cs
- HiddenFieldDesigner.cs
- SocketException.cs
- ContextStaticAttribute.cs
- MaskedTextBox.cs
- ThreadStateException.cs
- ReceiveCompletedEventArgs.cs
- XPathAncestorIterator.cs
- NativeRightsManagementAPIsStructures.cs
- CatalogPartChrome.cs
- SelectionBorderGlyph.cs
- EmptyEnumerable.cs
- CompilerParameters.cs
- Interlocked.cs
- PropertyValueChangedEvent.cs
- Point4D.cs
- ObjectDataSourceDesigner.cs
- FileLevelControlBuilderAttribute.cs
- UrlMappingsSection.cs
- SafeIUnknown.cs
- EditableTreeList.cs
- SynchronizingStream.cs
- SQLCharsStorage.cs
- DrawingDrawingContext.cs
- RangeValueProviderWrapper.cs
- DeviceContexts.cs
- SingleAnimationUsingKeyFrames.cs
- AudioBase.cs
- PropertyTabChangedEvent.cs
- BinaryMessageEncoder.cs
- BaseUriHelper.cs
- ArcSegment.cs
- UrlAuthorizationModule.cs
- EnvironmentPermission.cs
- sqlnorm.cs
- RegexCharClass.cs
- PrtCap_Public.cs
- MemoryMappedView.cs
- CngAlgorithmGroup.cs
- HtmlTableRowCollection.cs
- MimeParameters.cs
- ReadOnlyDataSource.cs
- ObjectToken.cs
- ControlTemplate.cs
- DecimalConverter.cs
- DesignerOptionService.cs
- HostedNamedPipeTransportManager.cs
- PeerNameRecord.cs
- BufferedGraphicsContext.cs
- MethodCallConverter.cs
- ModifiableIteratorCollection.cs
- ProcessProtocolHandler.cs
- BounceEase.cs
- RepeaterItem.cs
- ProtocolsConfigurationEntry.cs
- ProjectionRewriter.cs
- SqlGatherProducedAliases.cs
- TypeElement.cs
- CatalogZoneBase.cs
- SystemSounds.cs
- VirtualDirectoryMappingCollection.cs
- OptimalBreakSession.cs
- DeleteIndexBinder.cs
- ObjectParameterCollection.cs
- PageAdapter.cs
- safelinkcollection.cs
- SplayTreeNode.cs
- RPIdentityRequirement.cs