private Point[] GetTransformedPoints(FrameworkElement element, bool isRTL, FrameworkElement relativeTo)
{
Point[] pointArray = new Point[4];
if ((element != null) && (relativeTo != null))
{
GeneralTransform gt = relativeTo.TransformToVisual(_rootVisual);
pointArray[0] = gt.TransformPoint(new Point(0.0, 0.0));
pointArray[1] = gt.TransformPoint(new Point(element.ActualWidth, 0.0));
pointArray[2] = gt.TransformPoint(new Point(0.0, element.ActualHeight));
pointArray[3] = gt.TransformPoint(new Point(element.ActualWidth, element.ActualHeight));
FrameworkElement _el = _rootVisual as FrameworkElement;
bool flag = (_el != null) ? (_el.FlowDirection == FlowDirection.RightToLeft) : false;
if (isRTL != flag)
{
// TODO: Handle RTL - GetTransformedPoints
//for (int i = 0; i < pointArray.Length; i++)
//{
// pointArray[i].X = _windowBounds.Width - pointArray[i].X;
//}
}
}
return pointArray;
}