Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / fixedPageContentExtractor.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Stacktrace.cs
- ConfigXmlDocument.cs
- TextClipboardData.cs
- CodeAccessPermission.cs
- DocumentSequenceHighlightLayer.cs
- Token.cs
- TraceContextEventArgs.cs
- StateMachine.cs
- LayoutTableCell.cs
- MarkupCompiler.cs
- PrintEvent.cs
- LoginView.cs
- GridEntryCollection.cs
- ImageButton.cs
- HyperLinkStyle.cs
- LoginViewDesigner.cs
- HtmlInputControl.cs
- ColorPalette.cs
- HierarchicalDataSourceDesigner.cs
- FixedTextBuilder.cs
- SchemaSetCompiler.cs
- Span.cs
- ClientSponsor.cs
- ObjRef.cs
- SortAction.cs
- MdiWindowListItemConverter.cs
- CodeDelegateInvokeExpression.cs
- CodeValidator.cs
- ProxyManager.cs
- EntityDataSourceQueryBuilder.cs
- CanonicalFontFamilyReference.cs
- OdbcInfoMessageEvent.cs
- TaskHelper.cs
- BulletChrome.cs
- CodeExpressionRuleDeclaration.cs
- SqlNotificationRequest.cs
- Lock.cs
- ReadOnlyDictionary.cs
- DataStorage.cs
- ProgressBar.cs
- NetworkInterface.cs
- TypeBuilderInstantiation.cs
- SiteMap.cs
- PreviewKeyDownEventArgs.cs
- EdgeProfileValidation.cs
- OperationValidationEventArgs.cs
- ApplicationFileCodeDomTreeGenerator.cs
- OLEDB_Enum.cs
- ChildTable.cs
- XmlSchemaAttributeGroup.cs
- XmlAutoDetectWriter.cs
- AssociationSetEnd.cs
- WorkflowServiceAttributesTypeConverter.cs
- TextPointer.cs
- PageSetupDialog.cs
- FlowNode.cs
- ReaderOutput.cs
- SoundPlayerAction.cs
- DataTable.cs
- AssemblyNameProxy.cs
- MobileControlDesigner.cs
- BinaryMethodMessage.cs
- LineUtil.cs
- QilDataSource.cs
- counter.cs
- Socket.cs
- BackgroundWorker.cs
- ToolStripDesigner.cs
- ComponentEvent.cs
- UpdatableWrapper.cs
- TextRangeEdit.cs
- ChtmlCalendarAdapter.cs
- SemanticValue.cs
- InvalidDataContractException.cs
- XmlValidatingReader.cs
- UnsafeNativeMethods.cs
- HtmlImage.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- StrongNameIdentityPermission.cs
- DesignerDataConnection.cs
- KeySplineConverter.cs
- RotateTransform3D.cs
- GroupBoxAutomationPeer.cs
- ISFTagAndGuidCache.cs
- ProcessModule.cs
- IndicFontClient.cs
- counter.cs
- DrawToolTipEventArgs.cs
- OleDbParameterCollection.cs
- ColorInterpolationModeValidation.cs
- ToolStripDropDownClosingEventArgs.cs
- ArrayTypeMismatchException.cs
- ArgumentValue.cs
- Aggregates.cs
- Cursor.cs
- QueryNode.cs
- DynamicQueryStringParameter.cs
- AuthenticationModuleElementCollection.cs
- SelectedGridItemChangedEvent.cs
- MetadataPropertyCollection.cs