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));
        }
Ejemplo n.º 2
0
 /// <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));
 }