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
- PipeStream.cs
- DataSourceGeneratorException.cs
- RSAPKCS1SignatureFormatter.cs
- UpdatePanelTriggerCollection.cs
- TextRunProperties.cs
- XmlSchemaNotation.cs
- DigitalSignatureProvider.cs
- ConfigurationConverterBase.cs
- ConnectionStringSettingsCollection.cs
- oledbmetadatacolumnnames.cs
- NativeMethodsOther.cs
- Viewport3DAutomationPeer.cs
- Visitor.cs
- UserPreferenceChangingEventArgs.cs
- HatchBrush.cs
- columnmapkeybuilder.cs
- XmlFormatReaderGenerator.cs
- SmtpDigestAuthenticationModule.cs
- Base64Decoder.cs
- Guid.cs
- Compiler.cs
- UnsafeNativeMethods.cs
- CorrelationManager.cs
- ClientRuntimeConfig.cs
- AssemblySettingAttributes.cs
- SatelliteContractVersionAttribute.cs
- SRDisplayNameAttribute.cs
- ShaderRenderModeValidation.cs
- AutomationIdentifier.cs
- Vector3D.cs
- DefaultTextStoreTextComposition.cs
- CroppedBitmap.cs
- BaseTemplateParser.cs
- SoapAttributeOverrides.cs
- MDIClient.cs
- StringFormat.cs
- PipelineComponent.cs
- Metadata.cs
- SystemIPv6InterfaceProperties.cs
- DetailsViewInsertEventArgs.cs
- SpnegoTokenAuthenticator.cs
- RegexBoyerMoore.cs
- CodeNamespaceImport.cs
- ContainerControlDesigner.cs
- XmlAttributeOverrides.cs
- HttpCapabilitiesEvaluator.cs
- ConditionChanges.cs
- NativeMethods.cs
- OleTxTransactionInfo.cs
- TraceHandlerErrorFormatter.cs
- CodeLinePragma.cs
- objectresult_tresulttype.cs
- CodeSnippetStatement.cs
- DesignerSelectionListAdapter.cs
- UrlAuthorizationModule.cs
- SecuritySessionClientSettings.cs
- LogLogRecord.cs
- WindowsStartMenu.cs
- CustomErrorsSection.cs
- SystemInformation.cs
- CallbackHandler.cs
- CodeCatchClauseCollection.cs
- EncoderReplacementFallback.cs
- RegexCapture.cs
- OneToOneMappingSerializer.cs
- SchemaType.cs
- FrameworkElement.cs
- GuidTagList.cs
- RegistrationServices.cs
- MultiPageTextView.cs
- xsdvalidator.cs
- WinFormsUtils.cs
- CopyNodeSetAction.cs
- ImageField.cs
- GlyphRunDrawing.cs
- GPRECT.cs
- DependencyPropertyAttribute.cs
- PathStreamGeometryContext.cs
- ImmutableObjectAttribute.cs
- SystemColors.cs
- DataSysAttribute.cs
- ManipulationPivot.cs
- Lasso.cs
- PinnedBufferMemoryStream.cs
- ButtonPopupAdapter.cs
- ChtmlCalendarAdapter.cs
- HtmlUtf8RawTextWriter.cs
- CommandBindingCollection.cs
- JournalNavigationScope.cs
- EDesignUtil.cs
- DefaultMemberAttribute.cs
- WindowsFormsLinkLabel.cs
- EntityDataSourceWrapperCollection.cs
- FixedSOMTextRun.cs
- EventRecordWrittenEventArgs.cs
- NullableLongAverageAggregationOperator.cs
- DetailsViewRowCollection.cs
- XmlQueryRuntime.cs
- XmlAnyElementAttribute.cs
- BatchStream.cs