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
- ClipboardData.cs
- TabletCollection.cs
- safelink.cs
- TransformPattern.cs
- RegexParser.cs
- JsonUriDataContract.cs
- SqlServer2KCompatibilityAnnotation.cs
- SafeNativeMethods.cs
- SByte.cs
- ClientCultureInfo.cs
- X509CertificateCollection.cs
- DirectoryObjectSecurity.cs
- httpstaticobjectscollection.cs
- TextEditorMouse.cs
- SafeProcessHandle.cs
- TextAdaptor.cs
- FixedSOMPage.cs
- FragmentNavigationEventArgs.cs
- TreePrinter.cs
- OletxVolatileEnlistment.cs
- ExceptionRoutedEventArgs.cs
- NullRuntimeConfig.cs
- TextEditorTables.cs
- ToolStripComboBox.cs
- ObjectItemLoadingSessionData.cs
- FunctionMappingTranslator.cs
- DBConnectionString.cs
- FieldDescriptor.cs
- HwndHostAutomationPeer.cs
- RenderingBiasValidation.cs
- BitVector32.cs
- BrowserCapabilitiesFactoryBase.cs
- DiscardableAttribute.cs
- SpeechRecognitionEngine.cs
- PackagingUtilities.cs
- SubpageParagraph.cs
- OracleConnectionFactory.cs
- PostBackOptions.cs
- AnimationLayer.cs
- Update.cs
- CodeLinePragma.cs
- GenericTextProperties.cs
- Point3DAnimationUsingKeyFrames.cs
- Validator.cs
- HtmlCommandAdapter.cs
- RequestResizeEvent.cs
- InstanceKeyNotReadyException.cs
- SmtpNegotiateAuthenticationModule.cs
- RemotingConfiguration.cs
- HtmlControl.cs
- OperandQuery.cs
- Privilege.cs
- VariableQuery.cs
- StringReader.cs
- SplitterDesigner.cs
- WindowExtensionMethods.cs
- _NTAuthentication.cs
- EmptyCollection.cs
- IconHelper.cs
- DoubleLinkListEnumerator.cs
- XmlDataImplementation.cs
- InfoCardClaimCollection.cs
- DrawingImage.cs
- WebPartsPersonalization.cs
- FlowPosition.cs
- FlowDocumentPaginator.cs
- HuffmanTree.cs
- FrameSecurityDescriptor.cs
- WindowsPrincipal.cs
- JumpTask.cs
- RequiredArgumentAttribute.cs
- CharAnimationUsingKeyFrames.cs
- CodeNamespaceImportCollection.cs
- DataFormats.cs
- ResXFileRef.cs
- TextBoxDesigner.cs
- BlockUIContainer.cs
- HostingEnvironment.cs
- FileChangesMonitor.cs
- CachedBitmap.cs
- PartitionerStatic.cs
- InkPresenterAutomationPeer.cs
- _Events.cs
- TraceContextRecord.cs
- SmiGettersStream.cs
- LinearGradientBrush.cs
- ReceiveActivity.cs
- EntityTypeBase.cs
- RegexCharClass.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- AssemblyAttributesGoHere.cs
- CatalogPartCollection.cs
- BooleanAnimationUsingKeyFrames.cs
- SymbolTable.cs
- EmbeddedMailObject.cs
- RSAOAEPKeyExchangeFormatter.cs
- SystemUdpStatistics.cs
- RegexMatch.cs
- XmlAttributes.cs
- BehaviorEditorPart.cs