Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / FixedSOMFixedBlock.cs / 1305600 / 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: eleese - 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
- FormsAuthenticationConfiguration.cs
- TransactionTable.cs
- Context.cs
- HandleRef.cs
- WorkflowTraceTransfer.cs
- RemotingAttributes.cs
- SamlSubject.cs
- SamlSubjectStatement.cs
- MemberMemberBinding.cs
- ClickablePoint.cs
- EnvelopedPkcs7.cs
- Transform.cs
- PackUriHelper.cs
- NodeLabelEditEvent.cs
- XmlSchemaSimpleContent.cs
- HtmlInputCheckBox.cs
- FunctionDetailsReader.cs
- PropertyNames.cs
- XmlArrayItemAttributes.cs
- Base64Encoder.cs
- UpdateExpressionVisitor.cs
- URI.cs
- ConfigurationManagerHelperFactory.cs
- Image.cs
- MILUtilities.cs
- WindowsToolbarItemAsMenuItem.cs
- RequestQueue.cs
- StylusPointProperty.cs
- EntityModelSchemaGenerator.cs
- DataGridViewLayoutData.cs
- CryptographicAttribute.cs
- SiteMapDataSource.cs
- GridItemCollection.cs
- XmlSerializationWriter.cs
- DrawingServices.cs
- NotifyIcon.cs
- ButtonBase.cs
- RIPEMD160Managed.cs
- ProofTokenCryptoHandle.cs
- BasicCellRelation.cs
- ReadOnlyDictionary.cs
- AppDomainProtocolHandler.cs
- FontFamily.cs
- TextInfo.cs
- PtsCache.cs
- HttpListenerPrefixCollection.cs
- Size.cs
- Utils.cs
- MachineSettingsSection.cs
- DLinqAssociationProvider.cs
- SendActivityDesigner.cs
- CheckBoxAutomationPeer.cs
- CryptoKeySecurity.cs
- BindingCollection.cs
- DropShadowBitmapEffect.cs
- XmlEntity.cs
- StdRegProviderWrapper.cs
- ParameterToken.cs
- IApplicationTrustManager.cs
- DiagnosticsConfigurationHandler.cs
- LowerCaseStringConverter.cs
- Interlocked.cs
- TreeNodeStyle.cs
- InnerItemCollectionView.cs
- RoleManagerSection.cs
- HttpCookiesSection.cs
- SoapMessage.cs
- DataGridViewComboBoxCell.cs
- SafeNativeMethods.cs
- WebPartZoneCollection.cs
- PrintControllerWithStatusDialog.cs
- RecipientInfo.cs
- BlurBitmapEffect.cs
- UInt16.cs
- VideoDrawing.cs
- OletxResourceManager.cs
- SecurityTimestamp.cs
- SelectionGlyph.cs
- CodeTypeReferenceCollection.cs
- DataServiceException.cs
- MethodToken.cs
- DurableInstanceContextProvider.cs
- _UriTypeConverter.cs
- HtmlInputReset.cs
- AssemblyAttributesGoHere.cs
- ExternalDataExchangeClient.cs
- ReceiveMessageRecord.cs
- DataGridTableCollection.cs
- CacheDependency.cs
- CompoundFileReference.cs
- IntSumAggregationOperator.cs
- ResourceLoader.cs
- ChangeNode.cs
- controlskin.cs
- DataTableClearEvent.cs
- ExpandCollapseProviderWrapper.cs
- PointAnimation.cs
- FlowDocumentPage.cs
- XmlReflectionMember.cs
- Nullable.cs