28 #ifndef IDRECTANGLE_H_
29 #define IDRECTANGLE_H_
41 idRectangle(
float ix,
float iy,
float iw,
float ih) {
x = ix;
y = iy;
w = iw;
h = ih; }
49 if (
w == 0.0 &&
h == 0.0) {
68 if (
x +
w > r.
x + r.
w) {
71 if (
y +
h > r.
y + r.
h) {
82 center.
Set((
x +
w) / 2.0, (
y +
h) / 2.0, 0);
98 out.
w = (p2 - p1).Length();
99 out.
h = (p4 - p1).Length();
110 char *
String(
void )
const;
116 return *
reinterpret_cast<const idVec4 *
>(&
x);
139 float inva = 1.0f /
a;
176 return (
x == a.
x &&
y == a.
y &&
w == a.
w && a.
h);
193 for (
int i = 0;
i <
c;
i++) {
210 if (index >= 0 && index <
rects.
Num()) {
idRectangle * GetRect(int index)
idRectangle & operator-=(const idRectangle &a)
void Offset(float x, float y)
void Set(const float x, const float y, const float z)
idRectangle & operator/=(const idRectangle &a)
idRectangle & operator*=(const float a)
void Rotate(float a, idRectangle &out)
void ClipAgainst(idRectangle r, bool sizeOnly)
const idVec4 & ToVec4() const
GLubyte GLubyte GLubyte GLubyte w
idRectangle(float ix, float iy, float iw, float ih)
int operator==(const idRectangle &a) const
void RotateVector(idVec3 &v, idVec3 origin, float a, float c, float s)
GLubyte GLubyte GLubyte a
char * String(void) const
idList< idRectangle > rects
int Append(const type &obj)
GLdouble GLdouble GLdouble r
bool Contains(float xt, float yt)
float & operator[](const int index)
bool Contains(float xt, float yt)
void AddRect(float x, float y, float w, float h)
idRectangle & operator+=(const idRectangle &a)
idRectangle & operator=(const idVec4 v)