Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / FixedSOMFixedBlock.cs / 1 / FixedSOMFixedBlock.cs
/*++ File: FixedSOMFixedBlock.cs Copyright (C) 2005 Microsoft Corporation. All rights reserved. Description: This class reprsents a table row on the page. It would contain several table cells History: 05/17/2005: [....] - Created --*/ namespace System.Windows.Documents { using System.Collections; using System.Collections.Generic; using System.Windows.Media; using System.Globalization; using System.Diagnostics; using System.Text; internal sealed class FixedSOMFixedBlock : FixedSOMPageElement { //-------------------------------------------------------------------- // // Constructors // //--------------------------------------------------------------------- #region Constructors public FixedSOMFixedBlock(FixedSOMPage page) : base(page) { } #endregion Constructors #region Public Properties public double LineHeight { get { FixedSOMTextRun lastRun = this.LastTextRun; if (lastRun != null) { //Need to check for edge case - subscript or superscript at the end of a line if (this.SemanticBoxes.Count > 1) { FixedSOMTextRun run = this.SemanticBoxes[this.SemanticBoxes.Count - 2] as FixedSOMTextRun; if (run != null && lastRun.BoundingRect.Height / run.BoundingRect.Height < 0.75 && run.BoundingRect.Left != lastRun.BoundingRect.Left && run.BoundingRect.Right != lastRun.BoundingRect.Right && run.BoundingRect.Top != lastRun.BoundingRect.Top && run.BoundingRect.Bottom != lastRun.BoundingRect.Bottom) { return run.BoundingRect.Height; } } return lastRun.BoundingRect.Height; } else { return 0; } } } //return true if this FixedBlock is a wrapper around a floating image public bool IsFloatingImage { get { return (_semanticBoxes.Count == 1 && (_semanticBoxes[0] is FixedSOMImage)); } } internal override FixedElement.ElementType[] ElementTypes { get { return new FixedElement.ElementType[1] { FixedElement.ElementType.Paragraph }; } } public bool IsWhiteSpace { get { if (_semanticBoxes.Count == 0) { return false; } foreach (FixedSOMSemanticBox box in _semanticBoxes) { FixedSOMTextRun run = box as FixedSOMTextRun; if (run == null || !run.IsWhiteSpace) { return false; } } return true; } } public override bool IsRTL { get { return _RTLCount > _LTRCount; } } public Matrix Matrix { get { return _matrix; } } #endregion Public Properties #region Private Properties private FixedSOMTextRun LastTextRun { get { FixedSOMTextRun run = null; for (int i=_semanticBoxes.Count - 1; i>=0 && run==null; i--) { run = _semanticBoxes[i] as FixedSOMTextRun; } return run; } } #endregion Private Properties //------------------------------------------------------------------- // // Public Methods // //--------------------------------------------------------------------- #region Public Methods #if DEBUG public override void Render(DrawingContext dc, string label, DrawDebugVisual debugVisual) { Pen pen = new Pen(Brushes.Blue, 2); Rect rect = _boundingRect; rect.Inflate(3,3); dc.DrawRectangle(null, pen , rect); if (debugVisual == DrawDebugVisual.Paragraphs && label != null) { base.RenderLabel(dc, label); } for (int i=0; i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProvideValueServiceProvider.cs
- TypeSemantics.cs
- ColumnHeader.cs
- InnerItemCollectionView.cs
- XNodeNavigator.cs
- DeviceContext2.cs
- OperationResponse.cs
- cookie.cs
- CompilerScopeManager.cs
- TextEditorParagraphs.cs
- PageResolution.cs
- Property.cs
- Page.cs
- xmlfixedPageInfo.cs
- ClaimSet.cs
- OdbcException.cs
- ChainOfResponsibility.cs
- FormatConvertedBitmap.cs
- ModuleBuilder.cs
- MailWriter.cs
- Lookup.cs
- TreeWalker.cs
- ExceptionValidationRule.cs
- AuthenticationModulesSection.cs
- DataGridViewCellLinkedList.cs
- WebPartManager.cs
- SeverityFilter.cs
- ToolBarButton.cs
- AnnotationService.cs
- FieldToken.cs
- TextSegment.cs
- DnsEndpointIdentity.cs
- PhysicalAddress.cs
- WriteTimeStream.cs
- AuthenticationModuleElementCollection.cs
- InternalCache.cs
- ItemChangedEventArgs.cs
- UnicodeEncoding.cs
- SqlFunctionAttribute.cs
- WindowsToolbar.cs
- FormViewDesigner.cs
- Hash.cs
- ToolStripRendererSwitcher.cs
- ToolStripPanelRenderEventArgs.cs
- WCFBuildProvider.cs
- CreateUserErrorEventArgs.cs
- DocumentPageView.cs
- ReadOnlyCollectionBase.cs
- TdsParameterSetter.cs
- LogicalTreeHelper.cs
- SqlAliasesReferenced.cs
- XmlLangPropertyAttribute.cs
- SqlDataSourceTableQuery.cs
- ListView.cs
- DateTimeValueSerializerContext.cs
- XPathSelectionIterator.cs
- SmtpException.cs
- DrawingGroup.cs
- RuntimeHelpers.cs
- StringComparer.cs
- OdbcUtils.cs
- HtmlLink.cs
- TableColumn.cs
- Expander.cs
- rsa.cs
- TimelineCollection.cs
- MenuRendererStandards.cs
- followingquery.cs
- WindowsListView.cs
- HelpEvent.cs
- StringFunctions.cs
- WindowsScroll.cs
- QueryStatement.cs
- XamlPoint3DCollectionSerializer.cs
- EventManager.cs
- TreeIterators.cs
- StorageConditionPropertyMapping.cs
- EraserBehavior.cs
- MarginsConverter.cs
- WindowsFormsLinkLabel.cs
- complextypematerializer.cs
- ImpersonateTokenRef.cs
- DES.cs
- DataGridViewCellParsingEventArgs.cs
- XmlTypeMapping.cs
- SqlUserDefinedAggregateAttribute.cs
- ModuleBuilder.cs
- ConfigUtil.cs
- Point4DValueSerializer.cs
- RectAnimationUsingKeyFrames.cs
- MarkupProperty.cs
- OdbcErrorCollection.cs
- SqlWriter.cs
- FilterInvalidBodyAccessException.cs
- EventSourceCreationData.cs
- AssociatedControlConverter.cs
- TimeZone.cs
- SingleSelectRootGridEntry.cs
- SetterBaseCollection.cs
- SiteMapDesignerDataSourceView.cs