System.Types.TSmallPoint
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.