Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / FixedSOMElement.cs / 1 / FixedSOMElement.cs
/*++ File: FixedSOMElement.cs Copyright (C) 2005 Microsoft Corporation. All rights reserved. Description: Abstract class that provides a common base class for all non-container semantic elements. These elements have a fixed node and start and end symbol indices associated with them. History: 05/17/2005: [....] - Created --*/ namespace System.Windows.Documents { using System.Collections.Generic; using System.Diagnostics; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Windows.Controls; internal abstract class FixedSOMElement : FixedSOMSemanticBox { //-------------------------------------------------------------------- // // Constructors // //--------------------------------------------------------------------- #region Constructors protected FixedSOMElement(FixedNode fixedNode, int startIndex, int endIndex, GeneralTransform transform) { _fixedNode = fixedNode; _startIndex = startIndex; _endIndex = endIndex; Transform trans = transform.AffineTransform; if (trans != null) { _mat = trans.Value; } else { _mat = Transform.Identity.Value; } } protected FixedSOMElement(FixedNode fixedNode, GeneralTransform transform) { _fixedNode = fixedNode; Transform trans = transform.AffineTransform; if (trans != null) { _mat = trans.Value; } else { _mat = Transform.Identity.Value; } } #endregion Constructors //------------------------------------------------------------------- // // Public Properties // //--------------------------------------------------------------------- #region Static methods public static FixedSOMElement CreateFixedSOMElement(FixedPage page, UIElement uiElement, FixedNode fixedNode, int startIndex, int endIndex) { FixedSOMElement element = null; if (uiElement is Glyphs) { Glyphs glyphs = uiElement as Glyphs; if (glyphs.UnicodeString.Length > 0) { GlyphRun glyphRun = glyphs.ToGlyphRun(); Rect alignmentBox = glyphRun.ComputeAlignmentBox(); alignmentBox.Offset(glyphs.OriginX, glyphs.OriginY); GeneralTransform transform = glyphs.TransformToAncestor(page); if (startIndex < 0) { startIndex = 0; } if (endIndex < 0) { endIndex = glyphRun.Characters == null ? 0 : glyphRun.Characters.Count; } element = FixedSOMTextRun.Create(alignmentBox, transform, glyphs, fixedNode, startIndex, endIndex, false); } } else if (uiElement is Image) { element = FixedSOMImage.Create(page, uiElement as Image, fixedNode); } else if (uiElement is Path) { element = FixedSOMImage.Create(page, uiElement as Path, fixedNode); } return element; } #endregion Static methods //-------------------------------------------------------------------- // // Public Properties // //--------------------------------------------------------------------- #region Public Properties public FixedNode FixedNode { get { return _fixedNode; } } public int StartIndex { get { return _startIndex; } } public int EndIndex { get { return _endIndex; } } #endregion Public Properties //-------------------------------------------------------------------- // // Internal Properties // //---------------------------------------------------------------------- #region Internal Properties internal FlowNode FlowNode { get { return _flowNode; } set { _flowNode = value; } } internal int OffsetInFlowNode { get { return _offsetInFlowNode; } set { _offsetInFlowNode = value; } } internal Matrix Matrix { get { return _mat; } } #endregion Internal Properties //------------------------------------------------------------------- // // Protected Fields // //---------------------------------------------------------------------- #region Protected Fields protected FixedNode _fixedNode ; protected int _startIndex; protected int _endIndex; protected Matrix _mat; #endregion Protected Fields #region Private Fields private FlowNode _flowNode; private int _offsetInFlowNode; #endregion Private Fields } } // 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
- ConsoleEntryPoint.cs
- DataContractAttribute.cs
- Delegate.cs
- RepeaterItemEventArgs.cs
- NavigatingCancelEventArgs.cs
- XmlSignatureManifest.cs
- PageCache.cs
- ReadOnlyObservableCollection.cs
- Endpoint.cs
- RelationshipConverter.cs
- ContextMenuStrip.cs
- SpeechAudioFormatInfo.cs
- HwndHostAutomationPeer.cs
- EntityAdapter.cs
- Root.cs
- DataReceivedEventArgs.cs
- IntSecurity.cs
- ExceptionRoutedEventArgs.cs
- InputScopeNameConverter.cs
- DbModificationClause.cs
- DirtyTextRange.cs
- PagerSettings.cs
- OrderedDictionaryStateHelper.cs
- KeyedHashAlgorithm.cs
- HtmlMeta.cs
- GlyphsSerializer.cs
- GetReadStreamResult.cs
- ProxyWebPartConnectionCollection.cs
- FormattedText.cs
- SqlDependency.cs
- TableDetailsRow.cs
- WindowsFormsSectionHandler.cs
- DoubleSumAggregationOperator.cs
- CodeNamespace.cs
- Walker.cs
- formatter.cs
- ComplexPropertyEntry.cs
- XmlSchemaDocumentation.cs
- ProfileManager.cs
- InternalDispatchObject.cs
- SimpleNameService.cs
- MoveSizeWinEventHandler.cs
- CellPartitioner.cs
- SecurityAccessDeniedException.cs
- BeginEvent.cs
- WrappedDispatcherException.cs
- ParameterCollection.cs
- XslTransform.cs
- CodeArgumentReferenceExpression.cs
- ICspAsymmetricAlgorithm.cs
- BitmapEffectGroup.cs
- HttpEncoder.cs
- DataGridPageChangedEventArgs.cs
- TypeReference.cs
- ImageSource.cs
- DataServicePagingProviderWrapper.cs
- ViewBox.cs
- GeneralTransform3DGroup.cs
- DynamicDiscoveryDocument.cs
- AdapterUtil.cs
- ComponentGuaranteesAttribute.cs
- UnmanagedBitmapWrapper.cs
- WeakReferenceEnumerator.cs
- basenumberconverter.cs
- UInt16Converter.cs
- Compiler.cs
- IntPtr.cs
- TypeSystem.cs
- ExtendedTransformFactory.cs
- XmlSchemaSimpleType.cs
- WebBrowserContainer.cs
- XmlBoundElement.cs
- safesecurityhelperavalon.cs
- ModifierKeysValueSerializer.cs
- CellLabel.cs
- EmptyStringExpandableObjectConverter.cs
- FamilyTypeface.cs
- TimeoutValidationAttribute.cs
- ByteKeyFrameCollection.cs
- DataGridViewDesigner.cs
- QueryOperator.cs
- AccessDataSourceDesigner.cs
- columnmapfactory.cs
- ConnectionInterfaceCollection.cs
- _ListenerAsyncResult.cs
- BamlTreeMap.cs
- TypedColumnHandler.cs
- PersonalizationStateQuery.cs
- RequestStatusBarUpdateEventArgs.cs
- MenuCommand.cs
- Environment.cs
- FormView.cs
- ClassicBorderDecorator.cs
- ServiceModelStringsVersion1.cs
- DataGridToolTip.cs
- WebPartConnectionsConfigureVerb.cs
- TraceLog.cs
- WSHttpBindingElement.cs
- KeyValueInternalCollection.cs
- SerializerDescriptor.cs