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
- StreamInfo.cs
- SmtpCommands.cs
- CompilerResults.cs
- DocumentCollection.cs
- EventMappingSettingsCollection.cs
- ProjectionCamera.cs
- SiteMapNodeItemEventArgs.cs
- EnumMember.cs
- EntityDataSourceViewSchema.cs
- TextAction.cs
- SettingsAttributes.cs
- CheckBoxStandardAdapter.cs
- SqlTypesSchemaImporter.cs
- FixedSOMPageConstructor.cs
- RequestStatusBarUpdateEventArgs.cs
- RoutedCommand.cs
- PngBitmapDecoder.cs
- Decoder.cs
- MultipartContentParser.cs
- ToolBar.cs
- EncodingTable.cs
- XNodeSchemaApplier.cs
- WindowsListViewGroup.cs
- Signature.cs
- DataTableMapping.cs
- TextContainerChangeEventArgs.cs
- ComponentCollection.cs
- XmlDocumentType.cs
- DesignerGenericWebPart.cs
- CloseSequenceResponse.cs
- TextAnchor.cs
- SystemIcmpV6Statistics.cs
- EtwProvider.cs
- ComEventsHelper.cs
- DPAPIProtectedConfigurationProvider.cs
- HttpCookie.cs
- DesignTimeParseData.cs
- MgmtConfigurationRecord.cs
- FormatConvertedBitmap.cs
- DataGridPagerStyle.cs
- FastEncoderStatics.cs
- FileSecurity.cs
- ScriptComponentDescriptor.cs
- DescendantOverDescendantQuery.cs
- MarkupObject.cs
- ViewManagerAttribute.cs
- SourceFilter.cs
- StreamingContext.cs
- DecimalKeyFrameCollection.cs
- MatrixValueSerializer.cs
- ParenthesizePropertyNameAttribute.cs
- PeerNameRecordCollection.cs
- ScrollBarRenderer.cs
- IndexedString.cs
- WpfKnownTypeInvoker.cs
- CodeAccessPermission.cs
- DataFieldCollectionEditor.cs
- BamlReader.cs
- ItemsChangedEventArgs.cs
- _HelperAsyncResults.cs
- GlyphShapingProperties.cs
- ExpressionConverter.cs
- SafeNativeMethods.cs
- RightsManagementManager.cs
- QueryReaderSettings.cs
- LoadWorkflowCommand.cs
- CorrelationManager.cs
- MaterialCollection.cs
- ToolStripDropDownDesigner.cs
- XmlException.cs
- VisualBasicSettingsHandler.cs
- SqlCachedBuffer.cs
- Function.cs
- XmlNamespaceDeclarationsAttribute.cs
- CodeNamespaceCollection.cs
- GridViewPageEventArgs.cs
- SqlStream.cs
- ResXDataNode.cs
- AdRotatorDesigner.cs
- Helper.cs
- StringCollectionEditor.cs
- TreeBuilder.cs
- ModelPerspective.cs
- XmlSerializerVersionAttribute.cs
- __TransparentProxy.cs
- ParameterSubsegment.cs
- ResourceExpression.cs
- CompilerParameters.cs
- NotificationContext.cs
- Timer.cs
- oledbmetadatacolumnnames.cs
- RuntimeCompatibilityAttribute.cs
- EntityDataSourceStatementEditor.cs
- BuilderPropertyEntry.cs
- CheckBox.cs
- GenericRootAutomationPeer.cs
- AsmxEndpointPickerExtension.cs
- EmbeddedMailObjectsCollection.cs
- ControlPropertyNameConverter.cs
- DelegatingConfigHost.cs