Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- PageHandlerFactory.cs
- Utility.cs
- HtmlInputPassword.cs
- ProfileSection.cs
- ConfigXmlSignificantWhitespace.cs
- PreservationFileReader.cs
- RotateTransform.cs
- ApplyHostConfigurationBehavior.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ObjectConverter.cs
- DataGridViewCellValidatingEventArgs.cs
- Typography.cs
- XmlElementAttribute.cs
- DPCustomTypeDescriptor.cs
- SID.cs
- NativeMethods.cs
- TextSelection.cs
- InstancePersistenceContext.cs
- SafeSystemMetrics.cs
- CredentialCache.cs
- NetworkInformationPermission.cs
- TdsEnums.cs
- StyleHelper.cs
- ValueProviderWrapper.cs
- MouseEvent.cs
- SqlDataSourceCommandEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- TaskFileService.cs
- StaticExtensionConverter.cs
- EventDriven.cs
- VarRefManager.cs
- ContentFileHelper.cs
- EncoderParameters.cs
- TableLayoutPanelCellPosition.cs
- Highlights.cs
- DictionaryCustomTypeDescriptor.cs
- HtmlInputSubmit.cs
- CategoryValueConverter.cs
- XmlSignificantWhitespace.cs
- BamlTreeMap.cs
- IPipelineRuntime.cs
- CacheModeValueSerializer.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- ExpressionParser.cs
- UICuesEvent.cs
- PointF.cs
- Form.cs
- CodeConditionStatement.cs
- CategoryAttribute.cs
- SiteMapNode.cs
- DataGridViewHeaderCell.cs
- DBSqlParserColumnCollection.cs
- OrderedDictionaryStateHelper.cs
- ListBoxDesigner.cs
- ProfileEventArgs.cs
- WorkflowMarkupSerializationException.cs
- BamlReader.cs
- Calendar.cs
- SQLDecimal.cs
- EventListenerClientSide.cs
- XmlDocumentFieldSchema.cs
- VScrollProperties.cs
- XmlReturnWriter.cs
- WinFormsSpinner.cs
- BeginEvent.cs
- ClientScriptManager.cs
- SettingsPropertyIsReadOnlyException.cs
- XmlNodeReader.cs
- DataGridViewTextBoxColumn.cs
- FloatUtil.cs
- SerTrace.cs
- Span.cs
- CodeBlockBuilder.cs
- Adorner.cs
- ExceptionValidationRule.cs
- BitConverter.cs
- SQLByte.cs
- XhtmlBasicLiteralTextAdapter.cs
- GlyphCache.cs
- PathFigureCollection.cs
- CodeExpressionStatement.cs
- LineServices.cs
- ScriptDescriptor.cs
- SerialErrors.cs
- SqlNodeAnnotations.cs
- Timer.cs
- XmlSchemaSimpleType.cs
- VersionedStreamOwner.cs
- ProcessingInstructionAction.cs
- ResourceManager.cs
- Crc32.cs
- FileSystemWatcher.cs
- SmiTypedGetterSetter.cs
- ListenDesigner.cs
- CodeChecksumPragma.cs
- ThemeDirectoryCompiler.cs
- ContractsBCL.cs
- URIFormatException.cs
- DoubleAnimationUsingKeyFrames.cs
- SizeKeyFrameCollection.cs