Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ListViewItemMouseHoverEvent.cs
- StylusEventArgs.cs
- OptimalBreakSession.cs
- ColumnMap.cs
- PopupEventArgs.cs
- VolatileEnlistmentState.cs
- Classification.cs
- DbBuffer.cs
- InvalidChannelBindingException.cs
- RemoteEndpointMessageProperty.cs
- SingleConverter.cs
- DetailsViewRowCollection.cs
- IList.cs
- Parameter.cs
- RegexStringValidatorAttribute.cs
- BufferBuilder.cs
- CodeChecksumPragma.cs
- HttpFileCollection.cs
- SQLSingleStorage.cs
- DataGridViewCellCollection.cs
- SymmetricAlgorithm.cs
- RequestValidator.cs
- ParallelTimeline.cs
- RsaKeyIdentifierClause.cs
- ComplexType.cs
- WeakReference.cs
- QuerySetOp.cs
- CodeMemberField.cs
- SourceChangedEventArgs.cs
- StateWorkerRequest.cs
- XmlText.cs
- DataGridViewSelectedRowCollection.cs
- DeploymentExceptionMapper.cs
- SQLConvert.cs
- NumericUpDownAcceleration.cs
- OptionalRstParameters.cs
- CompilerHelpers.cs
- RelationshipEndMember.cs
- KeyFrames.cs
- OrderedDictionaryStateHelper.cs
- WpfWebRequestHelper.cs
- ColumnMapProcessor.cs
- DataSourceCache.cs
- TextLine.cs
- xmlglyphRunInfo.cs
- WebBrowserNavigatedEventHandler.cs
- DocumentGrid.cs
- FixedSOMTableCell.cs
- DataGridViewCheckBoxCell.cs
- VariableQuery.cs
- ApplicationServicesHostFactory.cs
- FormsAuthenticationConfiguration.cs
- PrtCap_Public.cs
- ConfigsHelper.cs
- QueryParameter.cs
- TypeUsageBuilder.cs
- GuidelineSet.cs
- SystemTcpStatistics.cs
- DefaultClaimSet.cs
- XmlWrappingReader.cs
- Command.cs
- LinqDataSourceValidationException.cs
- EventSinkActivityDesigner.cs
- XamlSerializer.cs
- ComponentConverter.cs
- BitmapScalingModeValidation.cs
- SmiEventSink.cs
- FixUp.cs
- CroppedBitmap.cs
- CodeCatchClauseCollection.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- _TLSstream.cs
- DesignerProperties.cs
- ProfileModule.cs
- PackageStore.cs
- IFlowDocumentViewer.cs
- LayoutUtils.cs
- IRCollection.cs
- ParserContext.cs
- TimelineGroup.cs
- SupportingTokenBindingElement.cs
- TextRangeProviderWrapper.cs
- FixUp.cs
- HttpWrapper.cs
- SoapMessage.cs
- UnmanagedHandle.cs
- AspNetPartialTrustHelpers.cs
- PersonalizationProviderCollection.cs
- Input.cs
- OperatingSystemVersionCheck.cs
- EventMap.cs
- SQLBinary.cs
- FragmentQuery.cs
- TrimSurroundingWhitespaceAttribute.cs
- FillBehavior.cs
- ContextStack.cs
- Point.cs
- SelectionUIService.cs
- OleDbEnumerator.cs
- SessionStateSection.cs