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
- PerspectiveCamera.cs
- ClientSideQueueItem.cs
- SystemNetHelpers.cs
- WinFormsUtils.cs
- TrackingSection.cs
- ContentElementAutomationPeer.cs
- DataSvcMapFile.cs
- CompositeFontParser.cs
- ValueQuery.cs
- ProtocolsSection.cs
- CssTextWriter.cs
- XmlSiteMapProvider.cs
- ToolboxComponentsCreatingEventArgs.cs
- ComAdminInterfaces.cs
- StringAnimationUsingKeyFrames.cs
- ViewGenerator.cs
- LabelExpression.cs
- PhysicalAddress.cs
- AccessDataSourceView.cs
- MouseGesture.cs
- FeatureSupport.cs
- InvalidPropValue.cs
- TerminatorSinks.cs
- InvalidAsynchronousStateException.cs
- FlowDocumentPage.cs
- ControlAdapter.cs
- ObjectDataSourceView.cs
- LOSFormatter.cs
- MarginCollapsingState.cs
- ArrangedElementCollection.cs
- RangeValueProviderWrapper.cs
- InternalsVisibleToAttribute.cs
- VisualBrush.cs
- Pool.cs
- EqualityComparer.cs
- RectAnimation.cs
- BinaryMethodMessage.cs
- JsonWriter.cs
- SuppressIldasmAttribute.cs
- DataTableCollection.cs
- Pool.cs
- DateTimeFormatInfoScanner.cs
- EFAssociationProvider.cs
- CodeArgumentReferenceExpression.cs
- VirtualDirectoryMapping.cs
- CollectionViewSource.cs
- RemotingServices.cs
- LineVisual.cs
- SqlDataSourceCache.cs
- BitmapData.cs
- MetricEntry.cs
- InternalConfigSettingsFactory.cs
- SingleResultAttribute.cs
- StylusOverProperty.cs
- ExpressionDumper.cs
- SecurityUtils.cs
- TouchesOverProperty.cs
- StateManagedCollection.cs
- DeclarationUpdate.cs
- TemplatePartAttribute.cs
- Freezable.cs
- DesignerSerializationOptionsAttribute.cs
- AdRotator.cs
- _NtlmClient.cs
- StyleReferenceConverter.cs
- Transform.cs
- ToolboxCategory.cs
- PageBuildProvider.cs
- DoubleAnimationUsingPath.cs
- SqlDuplicator.cs
- DiscoveryClientDocuments.cs
- TrackBarRenderer.cs
- EraserBehavior.cs
- TextEffect.cs
- CompModSwitches.cs
- DefaultPrintController.cs
- Queue.cs
- StaticSiteMapProvider.cs
- Win32.cs
- OverflowException.cs
- ClientCultureInfo.cs
- TextTrailingCharacterEllipsis.cs
- GridProviderWrapper.cs
- DeploymentSection.cs
- ClientBuildManagerCallback.cs
- StringPropertyBuilder.cs
- CommentEmitter.cs
- SiteMapHierarchicalDataSourceView.cs
- LiteralControl.cs
- MonthCalendar.cs
- DataGridViewLayoutData.cs
- ComPlusServiceLoader.cs
- WindowsTokenRoleProvider.cs
- HttpModulesSection.cs
- TabPanel.cs
- AppDomain.cs
- CodeSpit.cs
- XPathNodeList.cs
- IPEndPoint.cs
- ISFTagAndGuidCache.cs