/// <summary> /// Gets the clipping rectangle. /// </summary> /// <param name="element">The <see cref="ITransposablePlotElement" />.</param> /// <returns>The clipping rectangle.</returns> public static OxyRect GetClippingRect(this ITransposablePlotElement element) { var p1 = new ScreenPoint(element.XAxis.ScreenMin.X, element.YAxis.ScreenMin.Y); var p2 = new ScreenPoint(element.XAxis.ScreenMax.X, element.YAxis.ScreenMax.Y); return(new OxyRect(element.Orientate(p1), element.Orientate(p2))); }
/// <summary> /// Transforms from a screen point to a data point by the axes of this series. /// </summary> /// <param name="element">The <see cref="ITransposablePlotElement" />.</param> /// <param name="p">The screen point.</param> /// <returns>A data point.</returns> public static DataPoint InverseTransform(this ITransposablePlotElement element, ScreenPoint p) { p = element.Orientate(p); return(element.XAxis.InverseTransform(p.X, p.Y, element.YAxis)); }
/// <summary> /// Transforms the specified coordinates to a screen point by the axes of this series. /// </summary> /// <param name="element">The <see cref="ITransposablePlotElement" />.</param> /// <param name="x">The x coordinate.</param> /// <param name="y">The y coordinate.</param> /// <returns>A screen point.</returns> public static ScreenPoint Transform(this ITransposablePlotElement element, double x, double y) { return(element.Orientate(element.XAxis.Transform(x, y, element.YAxis))); }