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
- MsmqMessageSerializationFormat.cs
- SimpleType.cs
- StackSpiller.Temps.cs
- GradientBrush.cs
- ContextMenu.cs
- DictionaryEntry.cs
- XmlMtomWriter.cs
- UserPreferenceChangedEventArgs.cs
- DrawingContextWalker.cs
- SafeMILHandle.cs
- MultitargetingHelpers.cs
- ServiceDiscoveryBehavior.cs
- RequestSecurityTokenSerializer.cs
- CollectionConverter.cs
- UnmanagedMemoryStream.cs
- UnsafeNativeMethods.cs
- CodeCommentStatementCollection.cs
- InitializationEventAttribute.cs
- DataTableMappingCollection.cs
- HostUtils.cs
- TableLayoutPanelResizeGlyph.cs
- DataGridViewRowConverter.cs
- WSFederationHttpBinding.cs
- GenericTypeParameterBuilder.cs
- EditorZoneBase.cs
- rsa.cs
- MouseCaptureWithinProperty.cs
- KeyFrames.cs
- SspiSafeHandles.cs
- WebDescriptionAttribute.cs
- SByteConverter.cs
- ServiceElement.cs
- TraceSection.cs
- PageRanges.cs
- SecurityRuntime.cs
- DetailsViewAutoFormat.cs
- ComponentSerializationService.cs
- MarkupProperty.cs
- FixedNode.cs
- SHA384Cng.cs
- InkPresenter.cs
- KoreanCalendar.cs
- RequestResponse.cs
- FixedTextContainer.cs
- RuntimeIdentifierPropertyAttribute.cs
- SqlMultiplexer.cs
- SctClaimDictionary.cs
- GlyphRunDrawing.cs
- WebPartConnectionsConfigureVerb.cs
- TreeViewDesigner.cs
- InputEventArgs.cs
- SafeNativeMethods.cs
- SQLSingleStorage.cs
- ToolStripPanelCell.cs
- XpsSerializationManagerAsync.cs
- EventArgs.cs
- FilteredDataSetHelper.cs
- MetadataReference.cs
- WebServiceMethodData.cs
- SoapAttributeAttribute.cs
- AsyncCodeActivityContext.cs
- NetCodeGroup.cs
- GeneralTransformGroup.cs
- GestureRecognizer.cs
- SQLString.cs
- UnsupportedPolicyOptionsException.cs
- StringSorter.cs
- LinqDataSource.cs
- Canvas.cs
- KeyTimeConverter.cs
- FormViewDeleteEventArgs.cs
- DataGridViewCellStyleChangedEventArgs.cs
- GenericEnumConverter.cs
- CatalogZone.cs
- HttpResponseMessageProperty.cs
- CodeExporter.cs
- SystemException.cs
- RouteItem.cs
- IssuanceLicense.cs
- Trace.cs
- AppModelKnownContentFactory.cs
- ToolboxComponentsCreatedEventArgs.cs
- BStrWrapper.cs
- ToolboxDataAttribute.cs
- HttpModulesSection.cs
- CompleteWizardStep.cs
- Int64.cs
- HttpChannelHelpers.cs
- GenericAuthenticationEventArgs.cs
- TypeUtil.cs
- WorkflowViewElement.cs
- EventListenerClientSide.cs
- DefaultPrintController.cs
- BaseHashHelper.cs
- Relationship.cs
- EncoderNLS.cs
- PackUriHelper.cs
- ImportedNamespaceContextItem.cs
- _NegoStream.cs
- Menu.cs