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
- CryptoStream.cs
- Permission.cs
- ChildDocumentBlock.cs
- IxmlLineInfo.cs
- LifetimeServices.cs
- DefaultEventAttribute.cs
- ModelItem.cs
- Transform.cs
- HtmlInputText.cs
- Predicate.cs
- NoClickablePointException.cs
- DataGridViewToolTip.cs
- DiscoveryClientChannelFactory.cs
- MouseGestureConverter.cs
- TrackBar.cs
- InputLanguageManager.cs
- TransportReplyChannelAcceptor.cs
- AdCreatedEventArgs.cs
- Canvas.cs
- TypeResolver.cs
- Vector3D.cs
- StylusDownEventArgs.cs
- ScriptResourceMapping.cs
- WebPartConnectionsConfigureVerb.cs
- SystemDiagnosticsSection.cs
- HelpOperationInvoker.cs
- Configuration.cs
- SecurityTokenException.cs
- ArgumentNullException.cs
- DbProviderServices.cs
- XPathConvert.cs
- WebPartDisplayModeEventArgs.cs
- SecurityHeaderElementInferenceEngine.cs
- TargetParameterCountException.cs
- _NestedSingleAsyncResult.cs
- PageHandlerFactory.cs
- SchemaContext.cs
- CapabilitiesAssignment.cs
- QuaternionAnimation.cs
- PopupRoot.cs
- GetBrowserTokenRequest.cs
- DynamicPropertyHolder.cs
- DefaultSection.cs
- ContextStaticAttribute.cs
- contentDescriptor.cs
- BindableAttribute.cs
- ContainerUtilities.cs
- ErrorStyle.cs
- AttributeSetAction.cs
- LineBreakRecord.cs
- SafePEFileHandle.cs
- TheQuery.cs
- RadialGradientBrush.cs
- UserNameSecurityToken.cs
- AccessorTable.cs
- FtpWebRequest.cs
- RtfFormatStack.cs
- X509Certificate.cs
- StructuralType.cs
- ListViewTableRow.cs
- BuildManager.cs
- AsyncOperationLifetimeManager.cs
- RotationValidation.cs
- ConstructorArgumentAttribute.cs
- DesignerActionHeaderItem.cs
- FontEmbeddingManager.cs
- ReadOnlyAttribute.cs
- ContentWrapperAttribute.cs
- LockingPersistenceProvider.cs
- FileVersionInfo.cs
- NetworkInformationPermission.cs
- WrappedDispatcherException.cs
- SystemResourceHost.cs
- TrustSection.cs
- BrushMappingModeValidation.cs
- EnlistmentTraceIdentifier.cs
- ProxyGenerator.cs
- Math.cs
- ValuePatternIdentifiers.cs
- AliasedSlot.cs
- EventMappingSettingsCollection.cs
- errorpatternmatcher.cs
- HtmlInputReset.cs
- VectorKeyFrameCollection.cs
- RegularExpressionValidator.cs
- ValidationPropertyAttribute.cs
- SortExpressionBuilder.cs
- XmlEncodedRawTextWriter.cs
- OdbcStatementHandle.cs
- InkPresenter.cs
- KeySpline.cs
- BooleanAnimationBase.cs
- OdbcConnection.cs
- CheckPair.cs
- PlatformNotSupportedException.cs
- IPPacketInformation.cs
- OutputCacheProfile.cs
- ContainerControl.cs
- DataKey.cs
- ScriptBehaviorDescriptor.cs