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
- LineBreakRecord.cs
- InvalidDataException.cs
- TimeoutHelper.cs
- SchemaName.cs
- TemplateNameScope.cs
- IpcChannel.cs
- AlignmentYValidation.cs
- ContractMapping.cs
- InstancePersistenceEvent.cs
- ItemsChangedEventArgs.cs
- ObjectNavigationPropertyMapping.cs
- EventDescriptorCollection.cs
- WindowsSecurityTokenAuthenticator.cs
- FixedSOMTableCell.cs
- XmlHelper.cs
- ReverseQueryOperator.cs
- PageAsyncTaskManager.cs
- DataGridViewBindingCompleteEventArgs.cs
- FixedSchema.cs
- ProfileServiceManager.cs
- EntityDataSourceChangingEventArgs.cs
- SchemaManager.cs
- ChangePassword.cs
- IpcManager.cs
- ObjectDesignerDataSourceView.cs
- UnsafeNativeMethods.cs
- CollectionViewGroup.cs
- SerialReceived.cs
- BinaryFormatterWriter.cs
- DefaultPropertyAttribute.cs
- SessionStateItemCollection.cs
- StorageTypeMapping.cs
- NotCondition.cs
- UInt32.cs
- ConfigViewGenerator.cs
- ReadOnlyDictionary.cs
- Metafile.cs
- DataGridViewLinkCell.cs
- DefaultHttpHandler.cs
- HostProtectionPermission.cs
- Property.cs
- PropertyRef.cs
- CommonRemoteMemoryBlock.cs
- Documentation.cs
- XAMLParseException.cs
- LinqDataSourceHelper.cs
- OptimizerPatterns.cs
- DuplexSecurityProtocolFactory.cs
- WebPartTransformerAttribute.cs
- HttpHandlerAction.cs
- XmlUrlResolver.cs
- VirtualizedItemProviderWrapper.cs
- DesignerTransaction.cs
- EventHandlerList.cs
- SyndicationDeserializer.cs
- Vector3DCollection.cs
- RealProxy.cs
- DataSourceDesigner.cs
- TableHeaderCell.cs
- DataControlFieldCell.cs
- SystemColors.cs
- ConnectionString.cs
- HtmlInputRadioButton.cs
- Html32TextWriter.cs
- IPAddress.cs
- StringUtil.cs
- httpserverutility.cs
- HelpProvider.cs
- counter.cs
- MatrixTransform.cs
- DockPattern.cs
- ValidationErrorCollection.cs
- SelectedGridItemChangedEvent.cs
- IsolationInterop.cs
- List.cs
- JoinCqlBlock.cs
- AmbientValueAttribute.cs
- Keyboard.cs
- Evidence.cs
- LicenseProviderAttribute.cs
- ObjectManager.cs
- mediapermission.cs
- Rule.cs
- ConnectionStringsSection.cs
- InstanceCompleteException.cs
- AsyncDataRequest.cs
- TimeStampChecker.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SettingsPropertyNotFoundException.cs
- StylusOverProperty.cs
- DesignerHelpers.cs
- UrlAuthorizationModule.cs
- PropertyTabChangedEvent.cs
- DetailsViewInsertEventArgs.cs
- ObjectNotFoundException.cs
- URIFormatException.cs
- SemaphoreFullException.cs
- SecUtil.cs
- DocobjHost.cs
- BeginStoryboard.cs