# Point

```===============================================
Point - base class to represent point
===============================================
Integer or float values are accepted as coordinates

```

## CONSTRUCTOR

```  Point() - generic constructor, creates a Point with zero coordinates
Point(Point) - copy constructor
Point(x, y)  - creates a Point and assigns coordinates.
x and y may be integer or float

```

## ATTRIBUTES

```  parent (read-only)   - Point's parent object
x (integer or float) - horizontal position of the point
y (integer or float) - vertical position of the point

```

## OPERATIONS

```  ==       - compares two points, both coordinates must be equal
coerce   - can be operated on Point, float value, Matrix and Rect
add      - Point must be second operand, both coordinates are added
subtract - Point must be second operand, both coordinates are added
multiply - second operand may be Point, float or Matrix. If second operand is Point,
then result of scalar product is returned

```

## METHODS

```  Assign(Point p) | (x, y) - assigns new values to a Point
Shift(Point p) | (x, y) - shifts Point on a position defined by p or x and y values
Add(Point p) - same as Shift(Point p)
Sub(Point p) - subtracts p coordinates from the current Point
Mul(float s) - mutiplies Point's position to s value
Transform(Matrix m) - applies Matrix transformation to the Point (see Matrix().__doc__)

```