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
- HttpCacheParams.cs
- DataPagerField.cs
- ToolStripDropDownClosedEventArgs.cs
- WebEventTraceProvider.cs
- ScrollItemPatternIdentifiers.cs
- AutoCompleteStringCollection.cs
- AttributeEmitter.cs
- TextPointer.cs
- Quaternion.cs
- TypeDependencyAttribute.cs
- EmbossBitmapEffect.cs
- RequestCacheManager.cs
- VisualBrush.cs
- CommandDevice.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- OdbcException.cs
- SafeNativeMethods.cs
- PartialClassGenerationTaskInternal.cs
- XmlSigningNodeWriter.cs
- IndicShape.cs
- WebServiceMethodData.cs
- _ConnectionGroup.cs
- HttpProfileGroupBase.cs
- WebCategoryAttribute.cs
- TripleDES.cs
- RelAssertionDirectKeyIdentifierClause.cs
- JournalEntryListConverter.cs
- ShaderEffect.cs
- ILGenerator.cs
- XmlNodeList.cs
- Security.cs
- ReadOnlyCollection.cs
- LocalizableResourceBuilder.cs
- IChannel.cs
- JobCollate.cs
- DropDownList.cs
- BufferedResponseStream.cs
- shaperfactoryquerycacheentry.cs
- FixedDocumentSequencePaginator.cs
- Message.cs
- AvTraceFormat.cs
- SelectionEditor.cs
- TextMetrics.cs
- GiveFeedbackEventArgs.cs
- BaseTemplateParser.cs
- SchemaReference.cs
- EdmMember.cs
- HttpResponse.cs
- TypeBuilderInstantiation.cs
- Lasso.cs
- SiteMap.cs
- DynamicArgumentDesigner.xaml.cs
- HtmlInputFile.cs
- SymbolDocumentGenerator.cs
- CommandManager.cs
- DrawingBrush.cs
- WindowsIdentity.cs
- ToolStripItemEventArgs.cs
- InteropTrackingRecord.cs
- PointKeyFrameCollection.cs
- _NestedSingleAsyncResult.cs
- Axis.cs
- SimpleMailWebEventProvider.cs
- WebPartAddingEventArgs.cs
- TableLayoutRowStyleCollection.cs
- IPEndPointCollection.cs
- Wizard.cs
- _SSPISessionCache.cs
- AdornedElementPlaceholder.cs
- InvalidFilterCriteriaException.cs
- SyndicationSerializer.cs
- DoubleStorage.cs
- TextBoxBase.cs
- columnmapfactory.cs
- CodeDirectiveCollection.cs
- StringUtil.cs
- ForeignKeyConstraint.cs
- ProjectionPruner.cs
- TextTreePropertyUndoUnit.cs
- MutableAssemblyCacheEntry.cs
- Activator.cs
- SqlDependencyListener.cs
- Context.cs
- FrameworkReadOnlyPropertyMetadata.cs
- XmlElementCollection.cs
- HtmlInputReset.cs
- Mappings.cs
- ColumnBinding.cs
- CompilationSection.cs
- CustomErrorsSectionWrapper.cs
- WindowsEditBox.cs
- D3DImage.cs
- PropertyChangedEventArgs.cs
- DependencyPropertyAttribute.cs
- AdornerDecorator.cs
- CustomMenuItemCollection.cs
- TextShapeableCharacters.cs
- OleDbCommand.cs
- OperandQuery.cs
- ProvidersHelper.cs