Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / fixedPageContentExtractor.cs / 1305600 / 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
- CapabilitiesUse.cs
- Barrier.cs
- SQLGuid.cs
- Utils.cs
- InvalidPrinterException.cs
- SafeSecurityHandles.cs
- XmlAggregates.cs
- MobileControlPersister.cs
- GeneralTransformGroup.cs
- SqlHelper.cs
- ViewEventArgs.cs
- PanelStyle.cs
- HelloOperationAsyncResult.cs
- CookieHandler.cs
- _IPv6Address.cs
- TaskbarItemInfo.cs
- PreviewPrintController.cs
- ClientScriptManager.cs
- Bitmap.cs
- WebPartZone.cs
- CompilationSection.cs
- InputScopeAttribute.cs
- Mappings.cs
- InternalException.cs
- ComplexObject.cs
- InfoCardTrace.cs
- StringTraceRecord.cs
- TimeSpanConverter.cs
- DataGridSortCommandEventArgs.cs
- EditCommandColumn.cs
- UnknownBitmapEncoder.cs
- InspectionWorker.cs
- GenericParameterDataContract.cs
- DefinitionProperties.cs
- CommandConverter.cs
- OleDbWrapper.cs
- FileDataSourceCache.cs
- ipaddressinformationcollection.cs
- Translator.cs
- ValidationEventArgs.cs
- PersonalizationAdministration.cs
- AppDomainCompilerProxy.cs
- TypedElement.cs
- EdmFunctionAttribute.cs
- GcSettings.cs
- RelOps.cs
- HostingEnvironment.cs
- SafeSecurityHandles.cs
- EncryptedPackage.cs
- SecurityPermission.cs
- ContainerActivationHelper.cs
- AbstractDataSvcMapFileLoader.cs
- SqlWriter.cs
- XmlElementList.cs
- OracleInfoMessageEventArgs.cs
- SByteConverter.cs
- MetaModel.cs
- RequestCachePolicyConverter.cs
- WebPartEditorApplyVerb.cs
- HitTestDrawingContextWalker.cs
- NetTcpSecurity.cs
- TraceSection.cs
- unsafeIndexingFilterStream.cs
- Point4D.cs
- validationstate.cs
- SystemIcmpV4Statistics.cs
- CompilerState.cs
- InputBuffer.cs
- BroadcastEventHelper.cs
- TextElement.cs
- NativeMethods.cs
- DashStyle.cs
- TdsValueSetter.cs
- SoapElementAttribute.cs
- _CommandStream.cs
- MSAAWinEventWrap.cs
- ActivationServices.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- PinnedBufferMemoryStream.cs
- panel.cs
- SourceFilter.cs
- CachedFontFamily.cs
- TaiwanLunisolarCalendar.cs
- Matrix.cs
- ContractUtils.cs
- NotifyCollectionChangedEventArgs.cs
- DataGridViewDataConnection.cs
- FragmentNavigationEventArgs.cs
- GeneralTransform.cs
- JoinCqlBlock.cs
- KeyInfo.cs
- RelatedCurrencyManager.cs
- RegexMatch.cs
- DefaultValidator.cs
- NameService.cs
- NamespaceTable.cs
- DbDataReader.cs
- PointValueSerializer.cs
- SafeBuffer.cs
- ITextView.cs