projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added ugly workaround for Console crash at startup
[supertux.git]
/
src
/
math
/
rectf.hpp
diff --git
a/src/math/rectf.hpp
b/src/math/rectf.hpp
index
f9d4565
..
cdff094
100644
(file)
--- a/
src/math/rectf.hpp
+++ b/
src/math/rectf.hpp
@@
-19,9
+19,12
@@
#include <assert.h>
#include <assert.h>
+#include "math/sizef.hpp"
#include "math/vector.hpp"
#include "object/anchor_point.hpp"
#include "math/vector.hpp"
#include "object/anchor_point.hpp"
+class Sizef;
+
/** This class represents a rectangle.
* (Implementation Note) We're using upper left and lower right point instead of
* upper left and width/height here, because that makes the collision detection
/** This class represents a rectangle.
* (Implementation Note) We're using upper left and lower right point instead of
* upper left and width/height here, because that makes the collision detection
@@
-35,17
+38,19
@@
public:
p2()
{ }
p2()
{ }
- Rectf(const Vector& np1, const Vector& np2)
-
:
p1(np1), p2(np2)
+ Rectf(const Vector& np1, const Vector& np2)
:
+ p1(np1), p2(np2)
{
}
{
}
- Rectf(float x1, float y1, float x2, float y2)
-
:
p1(x1, y1), p2(x2, y2)
+ Rectf(float x1, float y1, float x2, float y2)
:
+ p1(x1, y1), p2(x2, y2)
{
assert(p1.x <= p2.x && p1.y <= p2.y);
}
{
assert(p1.x <= p2.x && p1.y <= p2.y);
}
+ Rectf(const Vector& p1_, const Sizef& size);
+
float get_left() const
{ return p1.x; }
float get_left() const
{ return p1.x; }
@@
-85,9
+90,9
@@
public:
set_width(width);
set_height(height);
}
set_width(width);
set_height(height);
}
- Vector get_size()
+ Sizef get_size() const
{
{
- return
Vector
(get_width(), get_height());
+ return
Sizef
(get_width(), get_height());
}
void move(const Vector& v)
}
void move(const Vector& v)
@@
-124,6
+129,12
@@
public:
return ((v1 - v2).norm ());
}
return ((v1 - v2).norm ());
}
+ Rectf grown(float border) const
+ {
+ return Rectf(p1.x - border, p1.y - border,
+ p2.x + border, p2.y + border);
+ }
+
// leave these two public to save the headaches of set/get functions for such
// simple things :)
// leave these two public to save the headaches of set/get functions for such
// simple things :)