Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / fixedPageContentExtractor.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ImageDrawing.cs
- XmlILAnnotation.cs
- LogAppendAsyncResult.cs
- FixedPage.cs
- EntityCollection.cs
- ValidationErrorEventArgs.cs
- SizeAnimationBase.cs
- DatatypeImplementation.cs
- DtdParser.cs
- CollectionViewGroupRoot.cs
- TypedRowGenerator.cs
- RangeContentEnumerator.cs
- ConfigXmlComment.cs
- TypeTypeConverter.cs
- RankException.cs
- InfoCardKeyedHashAlgorithm.cs
- TextBoxRenderer.cs
- TemplateKeyConverter.cs
- DataStorage.cs
- AttributeInfo.cs
- SystemNetworkInterface.cs
- ServiceAppDomainAssociationProvider.cs
- DesignerAttribute.cs
- CountAggregationOperator.cs
- RawUIStateInputReport.cs
- ObjectTag.cs
- ShaderRenderModeValidation.cs
- IxmlLineInfo.cs
- TraceFilter.cs
- ThreadExceptionEvent.cs
- DefaultParameterValueAttribute.cs
- HtmlToClrEventProxy.cs
- Char.cs
- MatrixCamera.cs
- DataGridCellsPresenter.cs
- TraceHandler.cs
- Size3D.cs
- FreezableCollection.cs
- BookmarkUndoUnit.cs
- StateMachineExecutionState.cs
- DuplexSecurityProtocolFactory.cs
- HtmlListAdapter.cs
- OdbcConnectionFactory.cs
- XhtmlConformanceSection.cs
- EnumerableCollectionView.cs
- UpDownBase.cs
- ZipIOLocalFileBlock.cs
- DynamicValueConverter.cs
- SmiEventSink_DeferedProcessing.cs
- DataServiceRequestArgs.cs
- NativeCppClassAttribute.cs
- NavigationWindow.cs
- SecurityResources.cs
- CompositeCollectionView.cs
- ipaddressinformationcollection.cs
- RootNamespaceAttribute.cs
- MetadataUtilsSmi.cs
- DataControlPagerLinkButton.cs
- X509ClientCertificateAuthenticationElement.cs
- XmlNodeChangedEventManager.cs
- SortedList.cs
- ComponentFactoryHelpers.cs
- QilList.cs
- HttpApplicationFactory.cs
- CodeAttributeDeclaration.cs
- GiveFeedbackEventArgs.cs
- DateTimeConverter2.cs
- ReadOnlyDictionary.cs
- LoginCancelEventArgs.cs
- Operator.cs
- CmsInterop.cs
- EventSinkActivity.cs
- OdbcDataAdapter.cs
- DocComment.cs
- ServiceModelActivity.cs
- NaturalLanguageHyphenator.cs
- ObjectStateFormatter.cs
- DropDownList.cs
- ByteRangeDownloader.cs
- ReturnEventArgs.cs
- UnaryOperationBinder.cs
- OpenCollectionAsyncResult.cs
- LingerOption.cs
- ValidationEventArgs.cs
- MessageProperties.cs
- TableAdapterManagerMethodGenerator.cs
- StrokeCollectionDefaultValueFactory.cs
- Match.cs
- IUnknownConstantAttribute.cs
- MimeObjectFactory.cs
- _ConnectStream.cs
- QilDataSource.cs
- AssociationSet.cs
- Pair.cs
- RegexMatch.cs
- XmlNodeList.cs
- XamlGridLengthSerializer.cs
- UpDownBase.cs
- ManagementQuery.cs
- ReliableChannelListener.cs