public static NativeRectFloat Transform(this NativeRectFloat rect, System.Windows.Media.Matrix matrix) { System.Windows.Point[] myPointArray = { rect.TopLeft, rect.BottomRight }; matrix.Transform(myPointArray); NativePointFloat topLeft = myPointArray[0]; NativePointFloat bottomRight = myPointArray[1]; return(new NativeRectFloat(topLeft, bottomRight)); }
/// <summary> /// Unscale the supplied NativePointFloat to the current dpi /// </summary> /// <param name="point">NativePointFloat to unscale</param> /// <param name="scaleModifier">A function which can modify the scale factor</param> /// <returns>NativePointFloat unscaled</returns> public NativePointFloat UnscaleWithCurrentDpi(NativePointFloat point, Func <double, double> scaleModifier = null) { return(ScaleWithDpi(point, Dpi, scaleModifier)); }
public static bool Contains(this NativeRectFloat rect, NativePointFloat point) { return(IsBetween(point.X, rect.Left, rect.Right) && IsBetween(point.Y, rect.Top, rect.Bottom)); }
public static NativeRectFloat Offset(this NativeRectFloat rect, NativePointFloat offset) { return(new NativeRectFloat(rect.Location.Offset(offset), rect.Size)); }
public static NativeRectFloat MoveTo(this NativeRectFloat rect, NativePointFloat location) { return(new NativeRectFloat(location, rect.Size)); }
public static NativePoint Round(this NativePointFloat point) { return(new NativePoint((int)Math.Round(point.X), (int)Math.Round(point.Y))); }
public static NativePointFloat Offset(this NativePointFloat point, NativePointFloat offset) { return(new NativePointFloat(point.X + offset.X, point.Y + offset.Y)); }
public static NativePointFloat Offset(this NativePointFloat point, float?offsetX = null, float?offsetY = null) { return(new NativePointFloat(point.X + offsetX ?? 0, point.Y + offsetY ?? 0)); }
public static NativePointFloat ChangeY(this NativePointFloat point, float y) { return(new NativePointFloat(point.X, y)); }
public static NativePointFloat ChangeX(this NativePointFloat point, float x) { return(new NativePointFloat(x, point.Y)); }