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
- ParseElementCollection.cs
- SafeArrayTypeMismatchException.cs
- EdmToObjectNamespaceMap.cs
- SqlNamer.cs
- CodeSubDirectoriesCollection.cs
- ContentType.cs
- HtmlInputHidden.cs
- WebExceptionStatus.cs
- PenLineCapValidation.cs
- InputProcessorProfiles.cs
- ImageMapEventArgs.cs
- GenericWebPart.cs
- ExtensionMethods.cs
- Expression.cs
- Util.cs
- NameSpaceEvent.cs
- HashHelpers.cs
- SmtpMail.cs
- PageContent.cs
- StringExpressionSet.cs
- JsonFormatWriterGenerator.cs
- EditorBrowsableAttribute.cs
- ContainerUtilities.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ExecutionProperties.cs
- ObjectStorage.cs
- XmlSchemas.cs
- SubqueryTrackingVisitor.cs
- SplitterPanel.cs
- UnauthorizedAccessException.cs
- NonNullItemCollection.cs
- IndicShape.cs
- ToolboxComponentsCreatedEventArgs.cs
- IChannel.cs
- ProtocolsConfiguration.cs
- Crc32.cs
- ServiceReference.cs
- TableHeaderCell.cs
- GlobalDataBindingHandler.cs
- X509ServiceCertificateAuthenticationElement.cs
- Drawing.cs
- DebuggerAttributes.cs
- Parameter.cs
- GridViewColumnCollection.cs
- HideDisabledControlAdapter.cs
- StrokeNodeEnumerator.cs
- Validator.cs
- OdbcEnvironmentHandle.cs
- StrongNameUtility.cs
- MULTI_QI.cs
- MimeTypePropertyAttribute.cs
- NavigatorInput.cs
- Helpers.cs
- MemoryStream.cs
- WorkflowInstance.cs
- QilLoop.cs
- DbReferenceCollection.cs
- xdrvalidator.cs
- securitycriticaldataClass.cs
- FocusManager.cs
- EventHandlerService.cs
- SQLResource.cs
- WebPartManagerInternals.cs
- ConnectionProviderAttribute.cs
- SourceElementsCollection.cs
- basevalidator.cs
- SafeFileMapViewHandle.cs
- RoleService.cs
- ConfigurationStrings.cs
- ImportRequest.cs
- ElementProxy.cs
- AssociationTypeEmitter.cs
- JsonUriDataContract.cs
- HwndSourceKeyboardInputSite.cs
- OracleParameterBinding.cs
- IpcManager.cs
- ScriptingRoleServiceSection.cs
- connectionpool.cs
- WindowsStatusBar.cs
- CommandLibraryHelper.cs
- sqlstateclientmanager.cs
- QueryContext.cs
- FixedTextSelectionProcessor.cs
- HealthMonitoringSection.cs
- MessageQueueTransaction.cs
- SchemaDeclBase.cs
- FolderLevelBuildProviderCollection.cs
- XmlDictionary.cs
- FloaterBaseParagraph.cs
- ComplexType.cs
- SerialErrors.cs
- MaskedTextBoxTextEditorDropDown.cs
- AddInEnvironment.cs
- ToolStripDropDown.cs
- Suspend.cs
- SvcMapFile.cs
- MobileCategoryAttribute.cs
- RepeatBehaviorConverter.cs
- _ShellExpression.cs
- TemplateBindingExtension.cs