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
- DataGridViewCellStyleEditor.cs
- ValueSerializer.cs
- EllipticalNodeOperations.cs
- MultipleViewPatternIdentifiers.cs
- InputProcessorProfiles.cs
- HtmlMeta.cs
- CacheEntry.cs
- WpfXamlMember.cs
- GenerateTemporaryTargetAssembly.cs
- Inline.cs
- ClientTarget.cs
- RegexCaptureCollection.cs
- VarInfo.cs
- GenericPrincipal.cs
- SizeAnimation.cs
- WindowsSysHeader.cs
- XmlProcessingInstruction.cs
- dataobject.cs
- ProfileModule.cs
- EventBindingService.cs
- CompiledQueryCacheKey.cs
- OdbcConnectionOpen.cs
- ProtocolsConfigurationEntry.cs
- LinkUtilities.cs
- AssemblyBuilderData.cs
- CacheHelper.cs
- XPathPatternBuilder.cs
- InkCollectionBehavior.cs
- StickyNoteContentControl.cs
- XhtmlBasicCalendarAdapter.cs
- CapiHashAlgorithm.cs
- SkinBuilder.cs
- TimelineGroup.cs
- AnnotationComponentChooser.cs
- LicFileLicenseProvider.cs
- ButtonColumn.cs
- TextDecorationUnitValidation.cs
- AppDomain.cs
- AlternateViewCollection.cs
- MSG.cs
- WmlLabelAdapter.cs
- TextCompositionEventArgs.cs
- RecommendedAsConfigurableAttribute.cs
- LookupNode.cs
- SafeReversePInvokeHandle.cs
- ComplexLine.cs
- Rotation3D.cs
- EventDescriptorCollection.cs
- WebPartsSection.cs
- XmlSchemaExporter.cs
- RowUpdatingEventArgs.cs
- ImageAnimator.cs
- StoreItemCollection.Loader.cs
- SessionEndedEventArgs.cs
- Dynamic.cs
- GeometryCombineModeValidation.cs
- DynamicScriptObject.cs
- StyleBamlRecordReader.cs
- CanonicalFormWriter.cs
- TdsParserStaticMethods.cs
- Cursors.cs
- StyleBamlRecordReader.cs
- InputLanguageProfileNotifySink.cs
- ToolStripMenuItemCodeDomSerializer.cs
- RequestCachingSection.cs
- WmlPhoneCallAdapter.cs
- SafeRightsManagementSessionHandle.cs
- ValidatorCollection.cs
- Button.cs
- DataGridViewCellValidatingEventArgs.cs
- ZipIOBlockManager.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- CqlParserHelpers.cs
- ContentFileHelper.cs
- DataGridViewTopLeftHeaderCell.cs
- ParserExtension.cs
- IndexedString.cs
- ViewBox.cs
- OutputCacheProfile.cs
- AudioSignalProblemOccurredEventArgs.cs
- BitmapImage.cs
- SQLDoubleStorage.cs
- BamlLocalizer.cs
- EmptyElement.cs
- ClientRuntime.cs
- Marshal.cs
- ArcSegment.cs
- RouteData.cs
- KnownTypeDataContractResolver.cs
- CurrencyWrapper.cs
- PageRanges.cs
- KeyedHashAlgorithm.cs
- LoadedOrUnloadedOperation.cs
- IInstanceContextProvider.cs
- _HeaderInfo.cs
- LowerCaseStringConverter.cs
- compensatingcollection.cs
- OrderByBuilder.cs
- MethodBuilder.cs
- CompilerError.cs