Point.cs source code in C# .NET

Source code for the .NET framework in C#

Code:

//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, 2001, 2002
//
// File: Point.cs
//-----------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Text;
using System.Collections;
using System.Globalization;
using System.Windows;
using System.Windows.Media;
using System.Runtime.InteropServices;
namespace System.Windows
{
///
/// Point - Defaults to 0,0
///
public partial struct Point
{
#region Constructors
///
/// Constructor which accepts the X and Y values
///
/// The value for the X coordinate of the new Point
/// The value for the Y coordinate of the new Point
public Point(double x, double y)
{
_x = x;
_y = y;
}
#endregion Constructors
#region Public Methods
///
/// Offset - update the location by adding offsetX to X and offsetY to Y
///
/// The offset in the x dimension
/// The offset in the y dimension
public void Offset(double offsetX, double offsetY)
{
_x += offsetX;
_y += offsetY;
}
///
/// Operator Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vectr to be added to the Point
public static Point operator + (Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Add: Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vector to be added to the Point
public static Point Add(Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Operator Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point operator - (Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Subtract: Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point Subtract(Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Operator Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector operator - (Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Subtract: Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector Subtract(Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Operator Point * Matrix
///
public static Point operator * (Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Multiply: Point * Matrix
///
public static Point Multiply(Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Explicit conversion to Size. Note that since Size cannot contain negative values,
/// the resulting size will contains the absolute values of X and Y
///
///
/// Size - A Size equal to this Point
///
/// Point - the Point to convert to a Size
public static explicit operator Size(Point point)
{
return new Size(Math.Abs(point._x), Math.Abs(point._y));
}
///
/// Explicit conversion to Vector
///
///
/// Vector - A Vector equal to this Point
///
/// Point - the Point to convert to a Vector
public static explicit operator Vector(Point point)
{
return new Vector(point._x, point._y);
}
#endregion Public Methods
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, 2001, 2002
//
// File: Point.cs
//-----------------------------------------------------------------------------
using System;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Text;
using System.Collections;
using System.Globalization;
using System.Windows;
using System.Windows.Media;
using System.Runtime.InteropServices;
namespace System.Windows
{
///
/// Point - Defaults to 0,0
///
public partial struct Point
{
#region Constructors
///
/// Constructor which accepts the X and Y values
///
/// The value for the X coordinate of the new Point
/// The value for the Y coordinate of the new Point
public Point(double x, double y)
{
_x = x;
_y = y;
}
#endregion Constructors
#region Public Methods
///
/// Offset - update the location by adding offsetX to X and offsetY to Y
///
/// The offset in the x dimension
/// The offset in the y dimension
public void Offset(double offsetX, double offsetY)
{
_x += offsetX;
_y += offsetY;
}
///
/// Operator Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vectr to be added to the Point
public static Point operator + (Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Add: Point + Vector
///
///
/// Point - The result of the addition
///
/// The Point to be added to the Vector
/// The Vector to be added to the Point
public static Point Add(Point point, Vector vector)
{
return new Point(point._x + vector._x, point._y + vector._y);
}
///
/// Operator Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point operator - (Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Subtract: Point - Vector
///
///
/// Point - The result of the subtraction
///
/// The Point from which the Vector is subtracted
/// The Vector which is subtracted from the Point
public static Point Subtract(Point point, Vector vector)
{
return new Point(point._x - vector._x, point._y - vector._y);
}
///
/// Operator Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector operator - (Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Subtract: Point - Point
///
///
/// Vector - The result of the subtraction
///
/// The Point from which point2 is subtracted
/// The Point subtracted from point1
public static Vector Subtract(Point point1, Point point2)
{
return new Vector(point1._x - point2._x, point1._y - point2._y);
}
///
/// Operator Point * Matrix
///
public static Point operator * (Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Multiply: Point * Matrix
///
public static Point Multiply(Point point, Matrix matrix)
{
return matrix.Transform(point);
}
///
/// Explicit conversion to Size. Note that since Size cannot contain negative values,
/// the resulting size will contains the absolute values of X and Y
///
///
/// Size - A Size equal to this Point
///
/// Point - the Point to convert to a Size
public static explicit operator Size(Point point)
{
return new Size(Math.Abs(point._x), Math.Abs(point._y));
}
///
/// Explicit conversion to Vector
///
///
/// Vector - A Vector equal to this Point
///
/// Point - the Point to convert to a Vector
public static explicit operator Vector(Point point)
{
return new Vector(point._x, point._y);
}
#endregion Public Methods
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.