Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DesignTimeTemplateParser.cs
- EntityViewGenerationConstants.cs
- PageRequestManager.cs
- IProvider.cs
- ToolStripKeyboardHandlingService.cs
- HostProtectionException.cs
- ViewGenResults.cs
- XmlArrayItemAttributes.cs
- Single.cs
- GPStream.cs
- TreeBuilder.cs
- GridViewEditEventArgs.cs
- ExtendedProtectionPolicyTypeConverter.cs
- DiscoveryClientReferences.cs
- WindowsSecurityTokenAuthenticator.cs
- TagNameToTypeMapper.cs
- RoleService.cs
- CurrencyWrapper.cs
- RemoteWebConfigurationHostStream.cs
- OletxTransactionHeader.cs
- CssTextWriter.cs
- DataControlField.cs
- AttributeTable.cs
- DataPager.cs
- InputProcessorProfilesLoader.cs
- ToolStripSplitButton.cs
- DbgUtil.cs
- DbParameterHelper.cs
- EmptyStringExpandableObjectConverter.cs
- BindingContext.cs
- XmlIncludeAttribute.cs
- DateTimeOffsetConverter.cs
- BaseDataBoundControl.cs
- InstanceData.cs
- PageAdapter.cs
- StateBag.cs
- AssociatedControlConverter.cs
- HMACSHA384.cs
- TextTreeDeleteContentUndoUnit.cs
- BitmapSource.cs
- DataSourceSerializationException.cs
- VerticalAlignConverter.cs
- SHA256Managed.cs
- ZipIOLocalFileBlock.cs
- EventProxy.cs
- ApplicationSecurityInfo.cs
- FixedHyperLink.cs
- XmlChildEnumerator.cs
- ResXResourceReader.cs
- DataViewManagerListItemTypeDescriptor.cs
- TextPatternIdentifiers.cs
- DataGridViewDataConnection.cs
- HttpAsyncResult.cs
- DBSqlParserColumnCollection.cs
- RenderCapability.cs
- DataGridViewDataErrorEventArgs.cs
- IndexedEnumerable.cs
- ToolStripOverflow.cs
- SafeIUnknown.cs
- TransformCollection.cs
- CompiledXpathExpr.cs
- DiagnosticEventProvider.cs
- WorkflowMarkupSerializationManager.cs
- SystemFonts.cs
- RegexNode.cs
- UnitySerializationHolder.cs
- DataGridTablesFactory.cs
- HttpDictionary.cs
- ResourceAttributes.cs
- NativeMethods.cs
- Permission.cs
- VSWCFServiceContractGenerator.cs
- ComplexType.cs
- StreamGeometry.cs
- HtmlInputButton.cs
- Propagator.ExtentPlaceholderCreator.cs
- XamlBrushSerializer.cs
- RecognitionEventArgs.cs
- PointValueSerializer.cs
- InputMethodStateTypeInfo.cs
- KeyNotFoundException.cs
- SizeValueSerializer.cs
- CustomGrammar.cs
- OleServicesContext.cs
- AspNetHostingPermission.cs
- XmlWriterDelegator.cs
- XmlSerializationReader.cs
- ImageBrush.cs
- COM2ColorConverter.cs
- TimeStampChecker.cs
- ExpressionBinding.cs
- ListView.cs
- DependencyPropertyDescriptor.cs
- ResourceCategoryAttribute.cs
- FloatUtil.cs
- TableCellCollection.cs
- HashCryptoHandle.cs
- ListViewItem.cs
- FilterableAttribute.cs
- SystemResourceKey.cs