本文整理汇总了C#中System.Windows.Media.TranslateTransform.TransformBounds方法的典型用法代码示例。如果您正苦于以下问题:C# TranslateTransform.TransformBounds方法的具体用法?C# TranslateTransform.TransformBounds怎么用?C# TranslateTransform.TransformBounds使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.TranslateTransform
的用法示例。
在下文中一共展示了TranslateTransform.TransformBounds方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTightBoundingGeometryFromTextPositions
/// <summary>
///
/// </summary>
/// <param name="startPosition"></param>
/// <param name="endPosition"></param>
/// <param name="visibleRect"></param>
/// <returns></returns>
internal Geometry GetTightBoundingGeometryFromTextPositions(ITextPointer startPosition, ITextPointer endPosition, Rect visibleRect)
{
Geometry geometry = null;
// Find out if cell is selected. We consider cell selected if its end tag is crossed by selection.
// The asymmetry is important here - it allows to use only normalized positions
// and still be able to select individual cells.
// Note that this logic is an assumption in textselection unit expansion mechanism
// (TexSelection.ExtendSelectionToStructuralUnit method).
if (endPosition.CompareTo(Cell.StaticElementEnd) >= 0)
{
geometry = new RectangleGeometry(_rect.FromTextDpi());
}
else
{
SubpageParagraphResult paragraphResult = (SubpageParagraphResult)(CreateParagraphResult());
ReadOnlyCollection<ColumnResult> colResults = paragraphResult.Columns;
Transform transform;
transform = new TranslateTransform(-TextDpi.FromTextDpi(ContentRect.u), -TextDpi.FromTextDpi(ContentRect.v));
visibleRect = transform.TransformBounds(visibleRect);
transform = null;
geometry = TextDocumentView.GetTightBoundingGeometryFromTextPositionsHelper(colResults[0].Paragraphs, paragraphResult.FloatingElements, startPosition, endPosition, 0.0, visibleRect);
if (geometry != null)
{
// restrict geometry to the cell's content rect boundary.
// because of end-of-line / end-of-para simulation calculated geometry could be larger.
Rect viewport = new Rect(0, 0, TextDpi.FromTextDpi(ContentRect.du), TextDpi.FromTextDpi(ContentRect.dv));
CaretElement.ClipGeometryByViewport(ref geometry, viewport);
transform = new TranslateTransform(TextDpi.FromTextDpi(ContentRect.u), TextDpi.FromTextDpi(ContentRect.v));
CaretElement.AddTransformToGeometry(geometry, transform);
}
}
return (geometry);
}