Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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: [....]/text/DesignDocsAndSpecs/Text%20Formatting%20API.doc // // Created: 1-2-2004 [....] ([....]) // //----------------------------------------------------------------------- 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
- odbcmetadatafactory.cs
- SelectionItemPattern.cs
- EntitySetBase.cs
- Part.cs
- DocumentViewerBaseAutomationPeer.cs
- DataSvcMapFileSerializer.cs
- StickyNoteContentControl.cs
- ViewCellSlot.cs
- MonthChangedEventArgs.cs
- ObjectItemCollection.cs
- SolidBrush.cs
- RunInstallerAttribute.cs
- ApplicationInterop.cs
- WindowsScroll.cs
- DataServiceHostFactory.cs
- Run.cs
- TraceData.cs
- LinkLabel.cs
- SecurityException.cs
- SmtpNetworkElement.cs
- DrawingBrush.cs
- NavigationFailedEventArgs.cs
- XmlValueConverter.cs
- ReflectEventDescriptor.cs
- SQLConvert.cs
- ColumnResizeUndoUnit.cs
- SignatureToken.cs
- ToolboxItemLoader.cs
- DbProviderConfigurationHandler.cs
- GraphicsContainer.cs
- AttributeEmitter.cs
- TableChangeProcessor.cs
- cryptoapiTransform.cs
- DataPagerFieldItem.cs
- ClonableStack.cs
- TypeToken.cs
- DataGridPreparingCellForEditEventArgs.cs
- printdlgexmarshaler.cs
- QuaternionAnimation.cs
- JumpTask.cs
- latinshape.cs
- SecurityChannel.cs
- SecurityPermission.cs
- ParameterBuilder.cs
- FamilyTypefaceCollection.cs
- PropertyMapper.cs
- StateDesigner.TransitionInfo.cs
- log.cs
- UICuesEvent.cs
- UrlMappingsSection.cs
- IconEditor.cs
- CompoundFileStreamReference.cs
- WebPartConnectionsDisconnectVerb.cs
- Container.cs
- StringConverter.cs
- KnownAssembliesSet.cs
- BinaryMethodMessage.cs
- CategoryNameCollection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- Aes.cs
- WebPermission.cs
- _SslSessionsCache.cs
- NavigatorInput.cs
- BamlRecordReader.cs
- UpdateCommandGenerator.cs
- PackagePartCollection.cs
- SqlBuffer.cs
- SamlAction.cs
- WindowsIdentity.cs
- DispatcherOperation.cs
- MouseCaptureWithinProperty.cs
- Atom10ItemFormatter.cs
- CheckBoxFlatAdapter.cs
- MouseActionConverter.cs
- ToolStripDropDownButton.cs
- IgnoreDeviceFilterElement.cs
- ResourceDisplayNameAttribute.cs
- LocalFileSettingsProvider.cs
- RawStylusActions.cs
- IdleTimeoutMonitor.cs
- BidOverLoads.cs
- CqlQuery.cs
- ObjectIDGenerator.cs
- SoapFormatter.cs
- AutomationPropertyInfo.cs
- ConfigurationLocationCollection.cs
- Registry.cs
- XmlSchemaImport.cs
- NamespaceInfo.cs
- DispatcherObject.cs
- PersonalizablePropertyEntry.cs
- ButtonPopupAdapter.cs
- TypefaceMetricsCache.cs
- DesignerTextViewAdapter.cs
- DecimalAnimationBase.cs
- CultureTable.cs
- SByteStorage.cs
- PenThread.cs
- Encoder.cs
- BindingParameterCollection.cs