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
- WebBrowserDocumentCompletedEventHandler.cs
- BamlLocalizableResourceKey.cs
- PermissionSetTriple.cs
- UidManager.cs
- RequestQueryParser.cs
- AccessDataSource.cs
- Utils.cs
- IPGlobalProperties.cs
- TextRenderer.cs
- XmlSchemaAll.cs
- DataGridViewCellPaintingEventArgs.cs
- ReferentialConstraint.cs
- Switch.cs
- PopOutPanel.cs
- MimeParameter.cs
- CancelEventArgs.cs
- DisplayNameAttribute.cs
- FreezableOperations.cs
- ActiveDesignSurfaceEvent.cs
- OpCopier.cs
- COM2PropertyDescriptor.cs
- Ticks.cs
- Viewport3DAutomationPeer.cs
- ContainerSelectorGlyph.cs
- SchemaInfo.cs
- CodeThrowExceptionStatement.cs
- SQLGuidStorage.cs
- HashHelper.cs
- TTSEngineProxy.cs
- OpCodes.cs
- SQLDecimalStorage.cs
- EntityParameter.cs
- CheckBox.cs
- Base64Encoding.cs
- ThreadPoolTaskScheduler.cs
- TreeViewDesigner.cs
- AuthenticodeSignatureInformation.cs
- WhiteSpaceTrimStringConverter.cs
- InfoCardService.cs
- CheckBoxList.cs
- ModelItemExtensions.cs
- ExplicitDiscriminatorMap.cs
- SafeUserTokenHandle.cs
- RectIndependentAnimationStorage.cs
- BaseDataBoundControl.cs
- EditorPartChrome.cs
- ColorContext.cs
- ClientConfigurationHost.cs
- QuaternionAnimationBase.cs
- DataGridViewCellStateChangedEventArgs.cs
- StylusPointProperties.cs
- SchemaReference.cs
- MachineKeyConverter.cs
- RemoteWebConfigurationHostServer.cs
- GenerateHelper.cs
- UnSafeCharBuffer.cs
- SchemaNotation.cs
- UpdatePanelTriggerCollection.cs
- RadioButtonRenderer.cs
- sortedlist.cs
- sqlstateclientmanager.cs
- Part.cs
- Run.cs
- XamlFilter.cs
- IndexedEnumerable.cs
- MultiBinding.cs
- PageOrientation.cs
- ScrollViewer.cs
- AddressUtility.cs
- RelationshipEndCollection.cs
- AccessDataSource.cs
- ObjectDataSource.cs
- TextRangeSerialization.cs
- TcpAppDomainProtocolHandler.cs
- RowType.cs
- _CookieModule.cs
- ControlEvent.cs
- VirtualDirectoryMapping.cs
- DBConnectionString.cs
- ResourceDefaultValueAttribute.cs
- Trigger.cs
- SamlAuthorizationDecisionStatement.cs
- LoginView.cs
- DelegatingTypeDescriptionProvider.cs
- StyleSelector.cs
- SharedPerformanceCounter.cs
- CodeRegionDirective.cs
- WaitHandleCannotBeOpenedException.cs
- FrameSecurityDescriptor.cs
- ResourceAttributes.cs
- XmlQualifiedNameTest.cs
- LineInfo.cs
- EntityConnection.cs
- DatagridviewDisplayedBandsData.cs
- X509CertificateValidator.cs
- DateTimeValueSerializerContext.cs
- OracleParameter.cs
- DataListItemCollection.cs
- MessageEnumerator.cs
- RotateTransform.cs