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
- SqlDataReader.cs
- DataGridViewDesigner.cs
- DataSvcMapFileSerializer.cs
- OdbcConnectionStringbuilder.cs
- NativeMethods.cs
- ObjectStateEntryDbDataRecord.cs
- AccessText.cs
- SqlDataSource.cs
- SolidBrush.cs
- DictionarySectionHandler.cs
- RadioButton.cs
- CssClassPropertyAttribute.cs
- StringInfo.cs
- RepeaterCommandEventArgs.cs
- DataContractSerializerFaultFormatter.cs
- ResourceReferenceExpressionConverter.cs
- IWorkflowDebuggerService.cs
- IOException.cs
- dbdatarecord.cs
- XpsDigitalSignature.cs
- XmlReaderSettings.cs
- PauseStoryboard.cs
- CultureMapper.cs
- Application.cs
- CodeTypeConstructor.cs
- CodeAttachEventStatement.cs
- AsyncCompletedEventArgs.cs
- QilLoop.cs
- WebPartAuthorizationEventArgs.cs
- _OSSOCK.cs
- ProfilePropertyNameValidator.cs
- Vector3DValueSerializer.cs
- remotingproxy.cs
- ApplicationServiceManager.cs
- DataFormats.cs
- wgx_sdk_version.cs
- DoubleLinkListEnumerator.cs
- TextChangedEventArgs.cs
- HttpListenerPrefixCollection.cs
- PropertyPathConverter.cs
- SimpleTypeResolver.cs
- PathNode.cs
- MetadataWorkspace.cs
- InputProcessorProfilesLoader.cs
- DropDownList.cs
- UrlMappingCollection.cs
- FragmentNavigationEventArgs.cs
- BoundConstants.cs
- Lazy.cs
- MILUtilities.cs
- Compiler.cs
- MetadataSerializer.cs
- SourceLocationProvider.cs
- SecurityState.cs
- FileLoadException.cs
- CompressionTransform.cs
- CodeStatementCollection.cs
- FlowDocumentReader.cs
- DSACryptoServiceProvider.cs
- validation.cs
- HttpBufferlessInputStream.cs
- ArraySegment.cs
- DocumentsTrace.cs
- VectorKeyFrameCollection.cs
- DocumentPageHost.cs
- PrePostDescendentsWalker.cs
- MediaContext.cs
- InstanceData.cs
- PassportAuthenticationModule.cs
- ConvertersCollection.cs
- EpmAttributeNameBuilder.cs
- MinimizableAttributeTypeConverter.cs
- AutoGeneratedFieldProperties.cs
- EntityDataSourceUtil.cs
- XmlSchemaSubstitutionGroup.cs
- ContextMenuService.cs
- SqlWebEventProvider.cs
- SoapCommonClasses.cs
- SectionUpdates.cs
- SQLInt64Storage.cs
- BamlWriter.cs
- NonSerializedAttribute.cs
- HtmlContainerControl.cs
- HostingEnvironment.cs
- XmlSchemaComplexContent.cs
- GridEntry.cs
- DataList.cs
- TableProvider.cs
- DataRowView.cs
- RichTextBoxConstants.cs
- MultiSelectRootGridEntry.cs
- ITreeGenerator.cs
- DataTemplateKey.cs
- ExtendedPropertyInfo.cs
- ExceptionHandlerDesigner.cs
- XmlEncodedRawTextWriter.cs
- MultiPageTextView.cs
- TreeNodeEventArgs.cs
- ConfigPathUtility.cs
- DataGridViewSelectedCellsAccessibleObject.cs