Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / textformatting / TextEmbeddedObject.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowsRebar.cs
- AttributeEmitter.cs
- HintTextMaxWidthConverter.cs
- Common.cs
- BitConverter.cs
- FlowDocumentView.cs
- ColumnBinding.cs
- Persist.cs
- TcpDuplicateContext.cs
- TableColumnCollection.cs
- HMACRIPEMD160.cs
- CustomLineCap.cs
- HtmlLink.cs
- DefaultExpressionVisitor.cs
- BaseEntityWrapper.cs
- SmtpTransport.cs
- RadioButton.cs
- LambdaCompiler.Expressions.cs
- PopupRoot.cs
- ProxyRpc.cs
- ComplusEndpointConfigContainer.cs
- SingleObjectCollection.cs
- BlurBitmapEffect.cs
- PointValueSerializer.cs
- XamlBrushSerializer.cs
- Guid.cs
- ExtenderProvidedPropertyAttribute.cs
- HttpBrowserCapabilitiesBase.cs
- NonPrimarySelectionGlyph.cs
- ObjectQueryState.cs
- bidPrivateBase.cs
- CommandTreeTypeHelper.cs
- LineInfo.cs
- ExpandoClass.cs
- SendMailErrorEventArgs.cs
- SqlGatherProducedAliases.cs
- TextWriterTraceListener.cs
- WindowsTooltip.cs
- LogicalTreeHelper.cs
- InArgumentConverter.cs
- WmfPlaceableFileHeader.cs
- ComponentEditorPage.cs
- COM2EnumConverter.cs
- DrawingContextDrawingContextWalker.cs
- ServiceActivationException.cs
- PixelFormats.cs
- GlyphRunDrawing.cs
- CategoryGridEntry.cs
- ToolStripDropDownClosedEventArgs.cs
- ArrayWithOffset.cs
- PageWrapper.cs
- CodeTypeConstructor.cs
- EventLog.cs
- Pair.cs
- rsa.cs
- LOSFormatter.cs
- ValidatorCompatibilityHelper.cs
- EFColumnProvider.cs
- BevelBitmapEffect.cs
- ConstNode.cs
- DateTimePickerDesigner.cs
- StackOverflowException.cs
- WebPartEditorOkVerb.cs
- Triangle.cs
- ToolStripRendererSwitcher.cs
- PartialCachingAttribute.cs
- TableStyle.cs
- StringConverter.cs
- WebPartManagerInternals.cs
- ResolvedKeyFrameEntry.cs
- DependencyObjectPropertyDescriptor.cs
- CompressionTransform.cs
- BufferedGraphics.cs
- MenuEventArgs.cs
- SqlRecordBuffer.cs
- BaseParser.cs
- GeometryDrawing.cs
- AccessDataSource.cs
- ComplexPropertyEntry.cs
- ControlBuilderAttribute.cs
- XmlUtil.cs
- SchemaDeclBase.cs
- UserPersonalizationStateInfo.cs
- Renderer.cs
- RootBrowserWindow.cs
- ValueUnavailableException.cs
- AssemblyBuilder.cs
- UrlPath.cs
- ParallelDesigner.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- BitmapData.cs
- ItemType.cs
- SqlMultiplexer.cs
- OleDbConnection.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- Message.cs
- XmlElementList.cs
- StylusEditingBehavior.cs
- srgsitem.cs
- BufferedReceiveManager.cs