System.Types.TSmallPoint

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

TSmallPoint = record

C++

struct TSmallPoint {
  short x;
  short y;
  static TSmallPoint Create(const short x, const short y) _ALWAYS_INLINE {
    TSmallPoint sp;
    sp.x = x;
    sp.y = y;
    return sp;
  }
  TSmallPoint& init(short ix, short iy) _ALWAYS_INLINE {
    x = ix;
    y = iy;
    return *this;
  }
  bool operator ==(const TSmallPoint& sp) const _ALWAYS_INLINE {
    return x == sp.x && y == sp.y;
  }
  bool operator !=(const TSmallPoint& sp) const _ALWAYS_INLINE {
    return !(*this == sp );
  }
  TSmallPoint operator +(const TSmallPoint& sp) const _ALWAYS_INLINE {
    TSmallPoint res;
    return res.init((short)(this->x + sp.x), (short)(this->y + sp.y));
  }
  TSmallPoint operator -(const TSmallPoint& sp) const _ALWAYS_INLINE {
    TSmallPoint res;
    return res.init((short)(this->x - sp.x), (short)(this->y - sp.y));
  }
  TSmallPoint& operator +=(const TSmallPoint& rhs) _ALWAYS_INLINE {
    this->x += rhs.x;
    this->y += rhs.y;
    return *this;
  }
  TSmallPoint& operator -=(const TSmallPoint& rhs) _ALWAYS_INLINE {
    this->x -= rhs.x;
    this->y -= rhs.y;
    return *this;
  }
  bool IsZero() const _ALWAYS_INLINE {
    return !x && !y;
  }
  double Distance(const TSmallPoint& p2) const _ALWAYS_INLINE {
    return hypot(static_cast<double>(p2.x - this->x), static_cast<double>(p2.y - this->y));
  }
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.Types.pas
SystemTypes.h
System.Types System.Types

Description

TSmallPoint type defines a point with two 16-bit coordinates.

The TSmallPoint type defines a point where each coordinate is a 16-bit integer. x specifies the horizontal coordinate of the point, y specifies the vertical coordinate.

See Also