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
- Util.cs
- FixedStringLookup.cs
- SqlComparer.cs
- UnicodeEncoding.cs
- DrawingContext.cs
- RegionInfo.cs
- ColumnMap.cs
- QuaternionRotation3D.cs
- SafeNativeMethods.cs
- DependencySource.cs
- DetailsViewPagerRow.cs
- AdapterDictionary.cs
- Console.cs
- LocatorPartList.cs
- ImageListUtils.cs
- WebConfigurationHost.cs
- Property.cs
- XmlSchemaAttributeGroupRef.cs
- DataGridrowEditEndingEventArgs.cs
- _RequestCacheProtocol.cs
- QilGenerator.cs
- NonVisualControlAttribute.cs
- ApplicationSecurityInfo.cs
- NonParentingControl.cs
- _DigestClient.cs
- ResourcesChangeInfo.cs
- FixedDSBuilder.cs
- NotificationContext.cs
- InternalDispatchObject.cs
- GradientSpreadMethodValidation.cs
- JsonServiceDocumentSerializer.cs
- HttpCookie.cs
- JsonFormatGeneratorStatics.cs
- RegexMatch.cs
- streamingZipPartStream.cs
- ComIntegrationManifestGenerator.cs
- EntityDataSourceEntitySetNameItem.cs
- DropTarget.cs
- SQLGuidStorage.cs
- MemoryMappedFile.cs
- FileDialog_Vista.cs
- WebPartTransformer.cs
- DynamicRenderer.cs
- DataContractSerializerOperationFormatter.cs
- ServicePrincipalNameElement.cs
- BrowserDefinition.cs
- XamlTemplateSerializer.cs
- SoapExtensionImporter.cs
- ArithmeticException.cs
- HMACSHA256.cs
- PageFunction.cs
- NamedObject.cs
- HostedAspNetEnvironment.cs
- DataGridCellItemAutomationPeer.cs
- ContravarianceAdapter.cs
- DataGridViewColumnHeaderCell.cs
- MetadataCollection.cs
- XhtmlStyleClass.cs
- StateMachineAction.cs
- XmlWellformedWriter.cs
- SafeArrayTypeMismatchException.cs
- Scheduler.cs
- SqlDataSourceView.cs
- _NetRes.cs
- FlowLayoutPanelDesigner.cs
- StringWriter.cs
- GridViewDesigner.cs
- CodeAccessPermission.cs
- TerminatingOperationBehavior.cs
- AdjustableArrowCap.cs
- DbMetaDataCollectionNames.cs
- FreeIndexList.cs
- SparseMemoryStream.cs
- FileReader.cs
- RightsManagementEncryptedStream.cs
- PermissionAttributes.cs
- DateTimeValueSerializerContext.cs
- BooleanToVisibilityConverter.cs
- XmlSchemaAny.cs
- DataSvcMapFileSerializer.cs
- WebPartVerb.cs
- StringValueSerializer.cs
- SafeNativeMethodsMilCoreApi.cs
- COM2EnumConverter.cs
- SyndicationLink.cs
- CompilationRelaxations.cs
- ExtendedTransformFactory.cs
- FrameworkTextComposition.cs
- HtmlImage.cs
- Repeater.cs
- Input.cs
- Substitution.cs
- PositiveTimeSpanValidator.cs
- NavigateUrlConverter.cs
- ManualResetEvent.cs
- RuntimeArgumentHandle.cs
- ExpressionVisitor.cs
- ResourcePermissionBaseEntry.cs
- XmlEntity.cs
- Memoizer.cs