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
- BaseCollection.cs
- ClosureBinding.cs
- WebServiceFaultDesigner.cs
- AppDomainManager.cs
- LowerCaseStringConverter.cs
- _AutoWebProxyScriptEngine.cs
- DbUpdateCommandTree.cs
- SafeMemoryMappedFileHandle.cs
- StartFileNameEditor.cs
- RunWorkerCompletedEventArgs.cs
- GrammarBuilderWildcard.cs
- HebrewNumber.cs
- PeerInputChannelListener.cs
- ImageButton.cs
- ObjectDisposedException.cs
- ListViewUpdatedEventArgs.cs
- HttpMethodAttribute.cs
- CompositeActivityTypeDescriptorProvider.cs
- SQLByteStorage.cs
- CharConverter.cs
- ThrowHelper.cs
- OleDragDropHandler.cs
- TimeoutException.cs
- AbstractSvcMapFileLoader.cs
- Separator.cs
- CodeDesigner.cs
- RoleService.cs
- Int16Animation.cs
- CalendarDay.cs
- OdbcParameterCollection.cs
- HashCodeCombiner.cs
- XmlException.cs
- PreviewKeyDownEventArgs.cs
- HashJoinQueryOperatorEnumerator.cs
- HtmlLabelAdapter.cs
- AudioLevelUpdatedEventArgs.cs
- BindingMemberInfo.cs
- ErrorWebPart.cs
- NonSerializedAttribute.cs
- DBConnection.cs
- HwndSourceParameters.cs
- _ConnectOverlappedAsyncResult.cs
- HandledMouseEvent.cs
- IdnMapping.cs
- RectangleHotSpot.cs
- HScrollBar.cs
- CodeVariableReferenceExpression.cs
- PropertyHelper.cs
- TreeNodeEventArgs.cs
- StyleHelper.cs
- RoutingExtensionElement.cs
- MimeObjectFactory.cs
- PkcsUtils.cs
- Utils.cs
- GreenMethods.cs
- NumberFormatInfo.cs
- ModelPerspective.cs
- SqlInternalConnectionSmi.cs
- StrokeNode.cs
- PageWrapper.cs
- Win32Exception.cs
- ProtocolsConfigurationHandler.cs
- OdbcReferenceCollection.cs
- PageFunction.cs
- Enum.cs
- PeerNameRecordCollection.cs
- TabControlEvent.cs
- Currency.cs
- ActivityDesignerAccessibleObject.cs
- CursorConverter.cs
- DateTimeStorage.cs
- CommittableTransaction.cs
- AsyncCodeActivity.cs
- SpellerHighlightLayer.cs
- AngleUtil.cs
- DecimalKeyFrameCollection.cs
- _ProxyChain.cs
- XmlAutoDetectWriter.cs
- UnsafeNativeMethods.cs
- ProfileServiceManager.cs
- Parameter.cs
- RegularExpressionValidator.cs
- BezierSegment.cs
- SocketCache.cs
- ContentPresenter.cs
- ResourceExpressionBuilder.cs
- AssemblyHelper.cs
- PatternMatcher.cs
- TextRenderer.cs
- JoinQueryOperator.cs
- TraceContextRecord.cs
- DesignerMetadata.cs
- QuaternionAnimationBase.cs
- WindowsScrollBarBits.cs
- TiffBitmapDecoder.cs
- HttpHandlerAction.cs
- EntityException.cs
- CachingHintValidation.cs
- Brush.cs
- FollowerQueueCreator.cs