Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ReliableOutputConnection.cs
- CodeMemberMethod.cs
- GroupBox.cs
- BlobPersonalizationState.cs
- XmlAttributeAttribute.cs
- SchemaTableColumn.cs
- FixedStringLookup.cs
- DataSourceXmlSerializationAttribute.cs
- TemplateNodeContextMenu.cs
- ToolStripDropDownButton.cs
- AuthenticatedStream.cs
- RemoteArgument.cs
- EmptyEnumerable.cs
- Int16.cs
- XsltException.cs
- CompositeActivityTypeDescriptorProvider.cs
- DataViewListener.cs
- SerializerProvider.cs
- BroadcastEventHelper.cs
- SessionEndingEventArgs.cs
- EntityDataSourceWrapperCollection.cs
- SafeHandles.cs
- XmlSchemaSimpleContentExtension.cs
- TextTreeTextBlock.cs
- WinEventQueueItem.cs
- hwndwrapper.cs
- baseshape.cs
- SoapElementAttribute.cs
- BlobPersonalizationState.cs
- FtpWebRequest.cs
- ReturnType.cs
- XPathException.cs
- documentation.cs
- HtmlInputButton.cs
- TextTabProperties.cs
- ToolStrip.cs
- DoubleAnimationUsingKeyFrames.cs
- Int32EqualityComparer.cs
- RecordsAffectedEventArgs.cs
- BitStream.cs
- TypeUsageBuilder.cs
- XmlWellformedWriter.cs
- BuildProviderCollection.cs
- FileBasedResourceGroveler.cs
- CodeDirectiveCollection.cs
- FrameDimension.cs
- VirtualizedItemPattern.cs
- WebBrowserUriTypeConverter.cs
- CustomBinding.cs
- RootProfilePropertySettingsCollection.cs
- _ConnectStream.cs
- TimeSpanMinutesConverter.cs
- FormParameter.cs
- HostSecurityManager.cs
- MdImport.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- DataGridAddNewRow.cs
- MouseEvent.cs
- HMACSHA512.cs
- DocumentOutline.cs
- LocatorBase.cs
- DockProviderWrapper.cs
- ConnectionPoint.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- SessionSwitchEventArgs.cs
- ManipulationDelta.cs
- FilteredDataSetHelper.cs
- RoleManagerEventArgs.cs
- LoadWorkflowAsyncResult.cs
- DBDataPermissionAttribute.cs
- CompModSwitches.cs
- DataGridViewHeaderCell.cs
- RawStylusInputReport.cs
- SettingsAttributes.cs
- Content.cs
- DBConcurrencyException.cs
- ListView.cs
- HttpHandlerAction.cs
- SerializableAttribute.cs
- HttpModuleCollection.cs
- SoapDocumentMethodAttribute.cs
- StylusPoint.cs
- EventLogPermissionEntry.cs
- HostedTcpTransportManager.cs
- SimpleWebHandlerParser.cs
- TableCell.cs
- SecurityDocument.cs
- SafeUserTokenHandle.cs
- WorkflowServiceHostFactory.cs
- VirtualPath.cs
- DataSource.cs
- SafeProcessHandle.cs
- ZipIOFileItemStream.cs
- WorkflowDesignerColors.cs
- MembershipPasswordException.cs
- WebPartZoneBase.cs
- BindingCollection.cs
- AttributeAction.cs
- AppDomainFactory.cs
- KeyboardDevice.cs