Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / 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: 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. //------------------------------------------------------------------------ // // 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
- DesignerHelpers.cs
- ToolboxDataAttribute.cs
- WebPartActionVerb.cs
- SafeHandles.cs
- OracleBoolean.cs
- ViewUtilities.cs
- CFStream.cs
- TextElementAutomationPeer.cs
- X509ClientCertificateAuthentication.cs
- ReturnType.cs
- TextServicesCompartment.cs
- StylusDownEventArgs.cs
- SafeFileMappingHandle.cs
- DispatcherTimer.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- TextEditorSelection.cs
- TrackingAnnotationCollection.cs
- MailSettingsSection.cs
- CodeFieldReferenceExpression.cs
- HttpWriter.cs
- EncryptedHeaderXml.cs
- HitTestParameters3D.cs
- ClosableStream.cs
- securitycriticaldataClass.cs
- Canvas.cs
- DropDownHolder.cs
- PrivilegedConfigurationManager.cs
- DataTemplateKey.cs
- Blend.cs
- DefaultPropertyAttribute.cs
- DeploymentSection.cs
- KeyboardDevice.cs
- EntityDataSourceReferenceGroup.cs
- Byte.cs
- XsltConvert.cs
- HttpValueCollection.cs
- StylusButtonCollection.cs
- GrammarBuilderBase.cs
- StreamInfo.cs
- EventDescriptorCollection.cs
- SessionStateContainer.cs
- parserscommon.cs
- OleDbDataAdapter.cs
- StringPropertyBuilder.cs
- WorkflowRuntimeServiceElement.cs
- Aggregates.cs
- DateTimeStorage.cs
- SecurityTokenException.cs
- StorageEntityTypeMapping.cs
- XmlDataProvider.cs
- TextTabProperties.cs
- AttributedMetaModel.cs
- XNodeNavigator.cs
- RTLAwareMessageBox.cs
- MemberInfoSerializationHolder.cs
- XPathNavigatorKeyComparer.cs
- BoundField.cs
- CachedPathData.cs
- __Error.cs
- UnsafeNativeMethodsPenimc.cs
- _SslStream.cs
- BatchParser.cs
- AxHost.cs
- ConvertTextFrag.cs
- NamedServiceModelExtensionCollectionElement.cs
- SqlOuterApplyReducer.cs
- HtmlInputFile.cs
- MsmqDecodeHelper.cs
- RightsManagementEncryptionTransform.cs
- WSHttpTransportSecurityElement.cs
- SqlBulkCopy.cs
- x509store.cs
- LoadRetryConstantStrategy.cs
- HashMembershipCondition.cs
- BaseAutoFormat.cs
- NativeObjectSecurity.cs
- WindowsRichEdit.cs
- DataGridHeaderBorder.cs
- PageRequestManager.cs
- PropertyMap.cs
- FontUnit.cs
- EpmTargetTree.cs
- OptimisticConcurrencyException.cs
- StreamingContext.cs
- TextTreeExtractElementUndoUnit.cs
- EdmType.cs
- ConnectionOrientedTransportManager.cs
- WebBrowserBase.cs
- _LoggingObject.cs
- GridEntry.cs
- SqlBulkCopyColumnMappingCollection.cs
- FindCriteriaElement.cs
- AVElementHelper.cs
- MethodSignatureGenerator.cs
- SystemIPGlobalProperties.cs
- EventLogPermissionEntry.cs
- UnsafeNativeMethods.cs
- ReaderWriterLockSlim.cs
- XmlMapping.cs
- _SecureChannel.cs