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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ZipIOModeEnforcingStream.cs
- NodeFunctions.cs
- DefaultAssemblyResolver.cs
- EmbeddedObject.cs
- FieldNameLookup.cs
- util.cs
- AspNetRouteServiceHttpHandler.cs
- ErasingStroke.cs
- XmlIlTypeHelper.cs
- Itemizer.cs
- MulticastNotSupportedException.cs
- FileNameEditor.cs
- Formatter.cs
- AppDomainAttributes.cs
- ListViewAutomationPeer.cs
- RepeatInfo.cs
- DoubleKeyFrameCollection.cs
- __Filters.cs
- Process.cs
- DragDeltaEventArgs.cs
- UTF7Encoding.cs
- ToggleButtonAutomationPeer.cs
- DelegateTypeInfo.cs
- ToggleProviderWrapper.cs
- CompatibleIComparer.cs
- Margins.cs
- XsdDuration.cs
- AssociationSet.cs
- ProviderMetadata.cs
- DataGridItemEventArgs.cs
- Accessible.cs
- ipaddressinformationcollection.cs
- TypeBuilder.cs
- OdbcErrorCollection.cs
- XmlSerializerAssemblyAttribute.cs
- DataServiceResponse.cs
- TimerExtension.cs
- PolicyChain.cs
- PrimaryKeyTypeConverter.cs
- EmissiveMaterial.cs
- WebPartConnectionsConfigureVerb.cs
- Inflater.cs
- DtdParser.cs
- BinaryObjectInfo.cs
- SID.cs
- Repeater.cs
- WebPartUserCapability.cs
- CollaborationHelperFunctions.cs
- returneventsaver.cs
- ZoneButton.cs
- MasterPageParser.cs
- PrtCap_Base.cs
- VisualTreeFlattener.cs
- HashRepartitionStream.cs
- CollectionAdapters.cs
- ToolStripDropDown.cs
- HwndKeyboardInputProvider.cs
- FormsAuthenticationUser.cs
- CoTaskMemSafeHandle.cs
- GraphicsContext.cs
- EllipticalNodeOperations.cs
- InteropAutomationProvider.cs
- OperationInfoBase.cs
- ScriptResourceInfo.cs
- DateBoldEvent.cs
- GraphicsState.cs
- XmlSchemaSimpleContent.cs
- WebBrowser.cs
- XamlGridLengthSerializer.cs
- DynamicAttribute.cs
- JpegBitmapEncoder.cs
- WMIGenerator.cs
- WebSysDescriptionAttribute.cs
- TraceListeners.cs
- MimeMapping.cs
- PropertyPushdownHelper.cs
- Environment.cs
- DecimalAnimationBase.cs
- ByteStorage.cs
- Renderer.cs
- SpotLight.cs
- LayoutTable.cs
- DiscoveryMessageSequenceGenerator.cs
- CodeGen.cs
- StringUtil.cs
- InputLanguage.cs
- EventLogPermissionEntry.cs
- InkCollectionBehavior.cs
- PeerNameResolver.cs
- PlanCompilerUtil.cs
- TriggerBase.cs
- DecoderBestFitFallback.cs
- WebResourceUtil.cs
- SqlPersistenceProviderFactory.cs
- MappedMetaModel.cs
- FullTextState.cs
- OverlappedAsyncResult.cs
- PassportIdentity.cs
- AnimatedTypeHelpers.cs
- SoapServerMethod.cs