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
- SiteMapPath.cs
- ChtmlTextWriter.cs
- RsaSecurityTokenAuthenticator.cs
- ByteStreamGeometryContext.cs
- MenuItemCollection.cs
- FreeFormDragDropManager.cs
- RSAPKCS1SignatureFormatter.cs
- LineGeometry.cs
- MultiDataTrigger.cs
- WindowsListViewItemCheckBox.cs
- Pointer.cs
- FlowDocumentReader.cs
- MemberHolder.cs
- PersonalizableTypeEntry.cs
- DataBindingList.cs
- QueueException.cs
- ToolStripSeparator.cs
- SequentialOutput.cs
- StickyNoteHelper.cs
- MarshalByRefObject.cs
- ScriptingRoleServiceSection.cs
- ProfileParameter.cs
- TextElementEnumerator.cs
- DataSourceXmlSerializer.cs
- SspiNegotiationTokenAuthenticator.cs
- QueryCacheKey.cs
- TextDecoration.cs
- StateMachineSubscription.cs
- Geometry3D.cs
- XmlNodeChangedEventArgs.cs
- SqlConnectionPoolProviderInfo.cs
- WebPartEditVerb.cs
- PropertyInfoSet.cs
- PeerPresenceInfo.cs
- AsyncParams.cs
- HMAC.cs
- DataKey.cs
- DesignerHost.cs
- MLangCodePageEncoding.cs
- DrawingAttributesDefaultValueFactory.cs
- InternalRelationshipCollection.cs
- StateBag.cs
- TextRunCacheImp.cs
- XsdCachingReader.cs
- InspectionWorker.cs
- SharedDp.cs
- ZoneMembershipCondition.cs
- SqlTypesSchemaImporter.cs
- SchemaMapping.cs
- CurrentChangingEventArgs.cs
- FileUpload.cs
- InputBuffer.cs
- ConstraintCollection.cs
- Registry.cs
- RectangleConverter.cs
- WpfWebRequestHelper.cs
- EditingContext.cs
- SoapSchemaExporter.cs
- CacheSection.cs
- GlyphingCache.cs
- InvokeGenerator.cs
- VirtualizedItemProviderWrapper.cs
- ComponentResourceKeyConverter.cs
- LicenseContext.cs
- ByteKeyFrameCollection.cs
- TableParagraph.cs
- NominalTypeEliminator.cs
- RenderDataDrawingContext.cs
- ValidationPropertyAttribute.cs
- ParallelLoopState.cs
- TableAdapterManagerNameHandler.cs
- SecurityImpersonationBehavior.cs
- WebEventCodes.cs
- WebPartEditVerb.cs
- DataServiceBehavior.cs
- Int32RectValueSerializer.cs
- Utilities.cs
- CodeActivity.cs
- MatrixValueSerializer.cs
- DrawingGroup.cs
- XmlTypeAttribute.cs
- TitleStyle.cs
- KeyValueSerializer.cs
- ZoomPercentageConverter.cs
- CodeTypeMember.cs
- DataGridColumnHeaderAutomationPeer.cs
- PagedControl.cs
- MaterialGroup.cs
- ThreadAbortException.cs
- TextCharacters.cs
- CharacterString.cs
- ServicesUtilities.cs
- ZeroOpNode.cs
- ToolboxDataAttribute.cs
- ActivityDesignerResources.cs
- ServiceNameCollection.cs
- ImageCodecInfoPrivate.cs
- DesignTimeVisibleAttribute.cs
- LocationUpdates.cs
- Rule.cs