Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / MS / Internal / IO / Packaging / fixedPageContentExtractor.cs / 1 / fixedPageContentExtractor.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Given a DOM node for a fixed page, enumerates its text content. // // History: // 05/11/2004: JohnLarc: Initial implementation //--------------------------------------------------------------------------- using System; using System.Xml; namespace MS.Internal.IO.Packaging { ////// Implements a sequence of (textContent, precedingDelimiter) pairs for /// a fixed page node. /// internal class FixedPageContentExtractor { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Initialize a FixedPageContentExtractor from a DOM node. /// internal FixedPageContentExtractor(XmlNode fixedPage) { _fixedPageInfo = new XmlFixedPageInfo(fixedPage); _nextGlyphRun = 0; } #endregion Constructors //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods ////// Return the content of the next glyph run, with a boolean indication /// whether it is separated by a space form the preceding glyph run. /// internal string NextGlyphContent(out bool inline, out uint lcid) { // Right now, we use the simplest possible heuristic for // spacing glyph runs: All pairs of adjacent glyph runs are assumed // to be separated by a word break. inline = false; lcid = 0; // End of page? if (_nextGlyphRun >= _fixedPageInfo.GlyphRunCount) { return null; } // Retrieve inline, lcid and return value from the next glyph run info. GlyphRunInfo glyphRunInfo = _fixedPageInfo.GlyphRunAtPosition(_nextGlyphRun); lcid = glyphRunInfo.LanguageID; // Point to the next glyph run for the next call and return. ++_nextGlyphRun; return glyphRunInfo.UnicodeString; } #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Indicates whether no more content can be returned. /// internal bool AtEndOfPage { get { return _nextGlyphRun >= _fixedPageInfo.GlyphRunCount; } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private XmlFixedPageInfo _fixedPageInfo; private int _nextGlyphRun; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Given a DOM node for a fixed page, enumerates its text content. // // History: // 05/11/2004: JohnLarc: Initial implementation //--------------------------------------------------------------------------- using System; using System.Xml; namespace MS.Internal.IO.Packaging { ////// Implements a sequence of (textContent, precedingDelimiter) pairs for /// a fixed page node. /// internal class FixedPageContentExtractor { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Initialize a FixedPageContentExtractor from a DOM node. /// internal FixedPageContentExtractor(XmlNode fixedPage) { _fixedPageInfo = new XmlFixedPageInfo(fixedPage); _nextGlyphRun = 0; } #endregion Constructors //------------------------------------------------------ // // Internal Methods // //----------------------------------------------------- #region Internal Methods ////// Return the content of the next glyph run, with a boolean indication /// whether it is separated by a space form the preceding glyph run. /// internal string NextGlyphContent(out bool inline, out uint lcid) { // Right now, we use the simplest possible heuristic for // spacing glyph runs: All pairs of adjacent glyph runs are assumed // to be separated by a word break. inline = false; lcid = 0; // End of page? if (_nextGlyphRun >= _fixedPageInfo.GlyphRunCount) { return null; } // Retrieve inline, lcid and return value from the next glyph run info. GlyphRunInfo glyphRunInfo = _fixedPageInfo.GlyphRunAtPosition(_nextGlyphRun); lcid = glyphRunInfo.LanguageID; // Point to the next glyph run for the next call and return. ++_nextGlyphRun; return glyphRunInfo.UnicodeString; } #endregion Internal Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Indicates whether no more content can be returned. /// internal bool AtEndOfPage { get { return _nextGlyphRun >= _fixedPageInfo.GlyphRunCount; } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private XmlFixedPageInfo _fixedPageInfo; private int _nextGlyphRun; #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
- DataGridViewBindingCompleteEventArgs.cs
- Int64Converter.cs
- XmlSerializerFactory.cs
- QuotedStringFormatReader.cs
- ColumnPropertiesGroup.cs
- IUnknownConstantAttribute.cs
- PageCache.cs
- GridToolTip.cs
- ButtonFlatAdapter.cs
- ResizeBehavior.cs
- DiagnosticsElement.cs
- DisableDpiAwarenessAttribute.cs
- XmlDigitalSignatureProcessor.cs
- InvalidWMPVersionException.cs
- MimeObjectFactory.cs
- ListItemParagraph.cs
- HttpEncoderUtility.cs
- ResourceManager.cs
- MsmqProcessProtocolHandler.cs
- KnownTypeDataContractResolver.cs
- Brush.cs
- AutomationFocusChangedEventArgs.cs
- URLIdentityPermission.cs
- DataGrid.cs
- CursorEditor.cs
- StaticResourceExtension.cs
- XamlRtfConverter.cs
- ObjectDataSourceView.cs
- ToolTipAutomationPeer.cs
- UniformGrid.cs
- DefaultAsyncDataDispatcher.cs
- TextElementEditingBehaviorAttribute.cs
- SpecialFolderEnumConverter.cs
- InitializationEventAttribute.cs
- _NTAuthentication.cs
- ADConnectionHelper.cs
- ResXResourceWriter.cs
- SiteOfOriginPart.cs
- DaylightTime.cs
- KeyedCollection.cs
- OutputCacheModule.cs
- ProxyWebPart.cs
- TimersDescriptionAttribute.cs
- WS2007FederationHttpBindingElement.cs
- HttpProfileGroupBase.cs
- SourceItem.cs
- WeakEventTable.cs
- MessagePropertyVariants.cs
- Cloud.cs
- XmlReflectionImporter.cs
- FamilyMapCollection.cs
- HtmlTableCell.cs
- WebPartEditVerb.cs
- HeaderedItemsControl.cs
- ValidationSummaryDesigner.cs
- DataKeyCollection.cs
- WebGetAttribute.cs
- Latin1Encoding.cs
- CodeCompileUnit.cs
- ProcessHostFactoryHelper.cs
- CharAnimationUsingKeyFrames.cs
- SmtpDateTime.cs
- TextEffectCollection.cs
- ExtendedPropertyInfo.cs
- DataGridViewCell.cs
- MoveSizeWinEventHandler.cs
- AuthorizationSection.cs
- SqlXmlStorage.cs
- StateManagedCollection.cs
- CopyNodeSetAction.cs
- X509Extension.cs
- TrustLevel.cs
- ToolStripItemClickedEventArgs.cs
- CultureSpecificCharacterBufferRange.cs
- PeerEndPoint.cs
- TextTreeNode.cs
- RightsManagementProvider.cs
- VirtualizingPanel.cs
- StylusPlugInCollection.cs
- ActivityPreviewDesigner.cs
- WebPartDisplayMode.cs
- CacheDict.cs
- XmlSerializerAssemblyAttribute.cs
- SHA1.cs
- XmlSchemaChoice.cs
- AppDomainResourcePerfCounters.cs
- ServiceManager.cs
- TextLine.cs
- HttpCapabilitiesSectionHandler.cs
- RuntimeArgumentHandle.cs
- Win32.cs
- DescendantOverDescendantQuery.cs
- InternalRelationshipCollection.cs
- Point.cs
- FlowchartDesigner.Helpers.cs
- ControlValuePropertyAttribute.cs
- LinkLabelLinkClickedEvent.cs
- Baml6Assembly.cs
- smtppermission.cs
- Tool.cs