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
- QueryIntervalOp.cs
- RtfControlWordInfo.cs
- TcpAppDomainProtocolHandler.cs
- SqlDesignerDataSourceView.cs
- DynamicDocumentPaginator.cs
- Ipv6Element.cs
- CompositeCollection.cs
- ScalarConstant.cs
- RIPEMD160Managed.cs
- EntityDataSourceWrapper.cs
- RijndaelManagedTransform.cs
- Part.cs
- ListBoxItemWrapperAutomationPeer.cs
- SplashScreen.cs
- StyleCollection.cs
- NumericUpDownAccelerationCollection.cs
- CalendarModeChangedEventArgs.cs
- SqlUdtInfo.cs
- RtfNavigator.cs
- PackageRelationshipCollection.cs
- FixedSOMLineRanges.cs
- SmtpReplyReaderFactory.cs
- DefinitionProperties.cs
- SymbolMethod.cs
- ApplicationSecurityInfo.cs
- ValidationErrorEventArgs.cs
- CodeDelegateCreateExpression.cs
- XPathAncestorQuery.cs
- EasingFunctionBase.cs
- ObjectItemCollection.cs
- ObsoleteAttribute.cs
- CapabilitiesAssignment.cs
- InputChannel.cs
- ToolStripCodeDomSerializer.cs
- SplineKeyFrames.cs
- LinkUtilities.cs
- COM2Enum.cs
- ContentTextAutomationPeer.cs
- CallbackTimeoutsBehavior.cs
- HotSpotCollection.cs
- mediaeventshelper.cs
- InvalidBodyAccessException.cs
- TextElement.cs
- LineVisual.cs
- RuntimeResourceSet.cs
- CodePropertyReferenceExpression.cs
- CodeSubDirectoriesCollection.cs
- Rect3D.cs
- BaseValidator.cs
- LinqExpressionNormalizer.cs
- FaultReason.cs
- XmlNamespaceManager.cs
- SubMenuStyleCollection.cs
- QilGeneratorEnv.cs
- IPEndPointCollection.cs
- Matrix3D.cs
- NonSerializedAttribute.cs
- Freezable.cs
- FormatterServices.cs
- ProcessStartInfo.cs
- PointValueSerializer.cs
- IdnMapping.cs
- FixedPageStructure.cs
- WinFormsComponentEditor.cs
- PackWebRequestFactory.cs
- MiniModule.cs
- DataBindingExpressionBuilder.cs
- TypedReference.cs
- MimeBasePart.cs
- SqlAliasesReferenced.cs
- WindowsGraphics2.cs
- DbFunctionCommandTree.cs
- DirectoryInfo.cs
- PageWrapper.cs
- _AuthenticationState.cs
- FullTextState.cs
- BuildDependencySet.cs
- ProviderConnectionPoint.cs
- FunctionUpdateCommand.cs
- GridViewUpdatedEventArgs.cs
- FixUp.cs
- hebrewshape.cs
- ValidationException.cs
- _ListenerAsyncResult.cs
- FlowDocumentPage.cs
- PrintPreviewControl.cs
- XmlSchemaAttributeGroupRef.cs
- IsolatedStoragePermission.cs
- DataSourceGroupCollection.cs
- Peer.cs
- PaintValueEventArgs.cs
- SqlParameterCollection.cs
- Bitmap.cs
- XPathQueryGenerator.cs
- TypefaceCollection.cs
- CheckBoxPopupAdapter.cs
- EDesignUtil.cs
- ThrowHelper.cs
- NavigationHelper.cs
- ChildrenQuery.cs