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
- ObsoleteAttribute.cs
- SiteMapProvider.cs
- SQLDouble.cs
- WriteFileContext.cs
- ListView.cs
- IIS7WorkerRequest.cs
- TaiwanLunisolarCalendar.cs
- SimpleType.cs
- Page.cs
- PriorityQueue.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- RepeaterItemCollection.cs
- TemplateKey.cs
- ValidateNames.cs
- ListViewCommandEventArgs.cs
- TreeNodeCollection.cs
- Crc32.cs
- ViewGenResults.cs
- OleDbParameter.cs
- ContentDefinition.cs
- XmlSchemaSimpleTypeUnion.cs
- DynamicValueConverter.cs
- OleDbRowUpdatingEvent.cs
- EdgeProfileValidation.cs
- MimeBasePart.cs
- WorkflowMarkupElementEventArgs.cs
- ModuleBuilder.cs
- SamlAuthorizationDecisionClaimResource.cs
- MouseActionValueSerializer.cs
- ParameterInfo.cs
- ZipIOModeEnforcingStream.cs
- PtsHelper.cs
- util.cs
- FaultReason.cs
- ExpressionTable.cs
- PageRouteHandler.cs
- BindingSource.cs
- TextComposition.cs
- DBDataPermission.cs
- SecurityContext.cs
- SetterBase.cs
- ConfigurationLocation.cs
- Rotation3D.cs
- FixedLineResult.cs
- CellParaClient.cs
- XmlSchemaSubstitutionGroup.cs
- DbgUtil.cs
- Dispatcher.cs
- WebHttpSecurityModeHelper.cs
- WorkflowViewManager.cs
- CompositeScriptReference.cs
- CapabilitiesSection.cs
- Polyline.cs
- DefaultTraceListener.cs
- WebPartEditorApplyVerb.cs
- DeploymentExceptionMapper.cs
- Decoder.cs
- SimpleBitVector32.cs
- ControlCollection.cs
- DecodeHelper.cs
- TextSchema.cs
- DataSpaceManager.cs
- RuleElement.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RealizationDrawingContextWalker.cs
- DebugManager.cs
- SemaphoreSecurity.cs
- AnimationStorage.cs
- TextTreeUndo.cs
- DataGridPreparingCellForEditEventArgs.cs
- QilInvokeEarlyBound.cs
- COAUTHINFO.cs
- DoubleAnimationUsingKeyFrames.cs
- ConnectionModeReader.cs
- DesignObjectWrapper.cs
- AnimatedTypeHelpers.cs
- TextDocumentView.cs
- DataGridViewColumn.cs
- ExpressionBuilderCollection.cs
- WmlValidationSummaryAdapter.cs
- String.cs
- TraceEventCache.cs
- HorizontalAlignConverter.cs
- GiveFeedbackEvent.cs
- Aggregates.cs
- GeometryDrawing.cs
- MouseCaptureWithinProperty.cs
- recordstate.cs
- WindowsEditBox.cs
- ExpandCollapsePattern.cs
- OdbcConnectionString.cs
- AssemblyHash.cs
- PerformanceCounterManager.cs
- _ListenerAsyncResult.cs
- InvalidProgramException.cs
- CodeIdentifier.cs
- ExpressionPrefixAttribute.cs
- CapabilitiesPattern.cs
- COAUTHINFO.cs
- ObjectContext.cs