23 #ifndef QDENGINE_SYSTEM_GRAPHICS_GR_SCREEN_REGION_H 24 #define QDENGINE_SYSTEM_GRAPHICS_GR_SCREEN_REGION_H 28 #define grScreenRegion_EMPTY grScreenRegion(0, 0, 0, 0) 34 grScreenRegion(
int x,
int y,
int sx,
int sy) : _x(x), _y(y), _size_x(sx), _size_y(sy) {}
37 if (_x == reg._x && _y == reg._y && _size_x == reg._size_x && _size_y == reg._size_y)
40 if (is_empty() && reg.is_empty())
47 if (is_empty() && reg.is_empty())
50 if (_x != reg._x || _y != reg._y || _size_x != reg._size_x || _size_y != reg._size_y)
57 if (reg.is_empty())
return *
this;
64 int x0 = (min_x() < reg.min_x()) ? min_x() : reg.min_x();
65 int x1 = (max_x() > reg.max_x()) ? max_x() : reg.max_x();
67 int y0 = (min_y() < reg.min_y()) ? min_y() : reg.min_y();
68 int y1 = (max_y() > reg.max_y()) ? max_y() : reg.max_y();
94 return _x - _size_x / 2;
97 return _x + _size_x / 2;
101 return _y - _size_y / 2;
104 return _y + _size_y / 2;
107 void move(
int dx,
int dy) {
112 bool is_empty()
const {
113 return (!_size_x || !_size_y);
116 bool is_inside(
int x,
int y)
const {
117 if (x >= min_x() && x < max_x() && y >= min_y() && y < max_y())
return true;
139 #endif // QDENGINE_SYSTEM_GRAPHICS_GR_SCREEN_REGION_H Базовый класс для игровых ресурсов.
Definition: console.h:28
Прямоугольная область на экране.
Definition: gr_screen_region.h:31