Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- SpellerInterop.cs
- SourceFileInfo.cs
- FunctionDescription.cs
- COM2Enum.cs
- FileClassifier.cs
- Constants.cs
- FileDataSourceCache.cs
- ClrPerspective.cs
- TreeViewImageKeyConverter.cs
- WebControl.cs
- StringCollectionMarkupSerializer.cs
- RuleSettings.cs
- InheritanceContextHelper.cs
- WpfXamlType.cs
- PrimitiveDataContract.cs
- AssertValidation.cs
- Size.cs
- ToolBarOverflowPanel.cs
- Simplifier.cs
- InvalidPrinterException.cs
- WaitHandle.cs
- CultureInfo.cs
- BaseDataListComponentEditor.cs
- XPathMessageFilterElementCollection.cs
- DebugController.cs
- MultiView.cs
- TextModifier.cs
- WebPartChrome.cs
- SqlConnectionManager.cs
- ToolStripContentPanel.cs
- SecurityAlgorithmSuiteConverter.cs
- HttpCachePolicy.cs
- PageRequestManager.cs
- ParameterBuilder.cs
- Utilities.cs
- DtdParser.cs
- DBAsyncResult.cs
- DataExchangeServiceBinder.cs
- Queue.cs
- XhtmlBasicLinkAdapter.cs
- SiteMapPath.cs
- ContentElement.cs
- Ref.cs
- DataGridViewButtonColumn.cs
- TypeConstant.cs
- TreeViewCancelEvent.cs
- CodeSnippetStatement.cs
- ProxySimple.cs
- OpenTypeLayout.cs
- XmlSchemaDocumentation.cs
- StreamHelper.cs
- DesignerWebPartChrome.cs
- ThumbButtonInfo.cs
- FileCodeGroup.cs
- SafeBitVector32.cs
- OpenTypeLayout.cs
- AnnotationMap.cs
- ThemeableAttribute.cs
- PopupRoot.cs
- _ConnectOverlappedAsyncResult.cs
- TaskbarItemInfo.cs
- MobileListItem.cs
- TouchesCapturedWithinProperty.cs
- ServiceErrorHandler.cs
- ColumnCollection.cs
- HostProtectionPermission.cs
- LayoutEngine.cs
- SamlNameIdentifierClaimResource.cs
- Rect.cs
- ExecutionContext.cs
- ToolStripProgressBar.cs
- EasingQuaternionKeyFrame.cs
- VisualStyleRenderer.cs
- _CacheStreams.cs
- ProviderConnectionPoint.cs
- SerializationTrace.cs
- CacheSection.cs
- BulletedListEventArgs.cs
- DllNotFoundException.cs
- CompiledQuery.cs
- MouseWheelEventArgs.cs
- StateBag.cs
- InvalidCastException.cs
- DictationGrammar.cs
- PolyLineSegmentFigureLogic.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- DnsPermission.cs
- MultipartContentParser.cs
- TransformerInfoCollection.cs
- DataBinding.cs
- SessionStateModule.cs
- GridViewDeletedEventArgs.cs
- UserMapPath.cs
- sqlnorm.cs
- PixelFormats.cs
- DeviceContext.cs
- DisplayMemberTemplateSelector.cs
- MobileSysDescriptionAttribute.cs
- OdbcStatementHandle.cs
- UnicodeEncoding.cs