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
- DataServiceSaveChangesEventArgs.cs
- ProjectionNode.cs
- Atom10FormatterFactory.cs
- BitmapEffect.cs
- ISAPIRuntime.cs
- CacheVirtualItemsEvent.cs
- HandleCollector.cs
- InputReportEventArgs.cs
- SingleAnimationUsingKeyFrames.cs
- StringWriter.cs
- ResourceReferenceKeyNotFoundException.cs
- XmlWhitespace.cs
- LiteralSubsegment.cs
- DefaultValueTypeConverter.cs
- NativeMethods.cs
- IDispatchConstantAttribute.cs
- DataGridViewImageCell.cs
- AutomationAttributeInfo.cs
- GeneralTransform3DTo2D.cs
- SerializationSectionGroup.cs
- DataSvcMapFileSerializer.cs
- StreamGeometry.cs
- IntPtr.cs
- TransactionProtocolConverter.cs
- CodeArrayIndexerExpression.cs
- GroupItemAutomationPeer.cs
- PersonalizableAttribute.cs
- CodeObject.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Scripts.cs
- TrustLevel.cs
- DomainLiteralReader.cs
- XmlDownloadManager.cs
- LinkLabelLinkClickedEvent.cs
- SpanIndex.cs
- IHttpResponseInternal.cs
- RangeValidator.cs
- TranslateTransform.cs
- VectorAnimationBase.cs
- ClientFormsIdentity.cs
- XsltQilFactory.cs
- ImageCodecInfo.cs
- UrlMappingsSection.cs
- PolicyStatement.cs
- ThreadAttributes.cs
- SafeNativeMethods.cs
- EffectiveValueEntry.cs
- TagNameToTypeMapper.cs
- CheckBoxStandardAdapter.cs
- SafeNativeHandle.cs
- ApplicationActivator.cs
- CookielessHelper.cs
- RawUIStateInputReport.cs
- StyleCollection.cs
- CoTaskMemHandle.cs
- WebPartMenu.cs
- TextViewSelectionProcessor.cs
- XamlDesignerSerializationManager.cs
- Mapping.cs
- QilLoop.cs
- XmlParserContext.cs
- XmlWellformedWriter.cs
- XamlToRtfParser.cs
- ConfigurationManagerHelper.cs
- DurationConverter.cs
- OleDbConnection.cs
- DependencyPropertyDescriptor.cs
- DescendantQuery.cs
- AttributeExtensions.cs
- DispatcherExceptionEventArgs.cs
- Mutex.cs
- ExpressionBuilder.cs
- ExtensionFile.cs
- XmlAttributeCollection.cs
- GridViewRow.cs
- basenumberconverter.cs
- SynchronizedKeyedCollection.cs
- SqlBulkCopy.cs
- DbException.cs
- Point4D.cs
- OdbcHandle.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RecordManager.cs
- DbMetaDataColumnNames.cs
- RetrieveVirtualItemEventArgs.cs
- DefaultParameterValueAttribute.cs
- PermissionAttributes.cs
- HandlerFactoryWrapper.cs
- ButtonChrome.cs
- EndpointInfoCollection.cs
- ListBase.cs
- PresentationTraceSources.cs
- Table.cs
- XdrBuilder.cs
- Switch.cs
- ObjectFullSpanRewriter.cs
- RegistrySecurity.cs
- CompilationUnit.cs
- DataPager.cs
- ReadWriteObjectLock.cs