SFML 2.5.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
SFML
Graphics
Rect.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2018 Laurent Gomila (laurent@sfml-dev.org)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_RECT_HPP
26
#define SFML_RECT_HPP
27
29
// Headers
31
#include <SFML/System/Vector2.hpp>
32
#include <algorithm>
33
34
35
namespace
sf
36
{
41
template
<
typename
T>
42
class
Rect
43
{
44
public
:
45
53
Rect
();
54
67
Rect
(T rectLeft, T rectTop, T rectWidth, T rectHeight);
68
79
Rect
(
const
Vector2<T>
& position,
const
Vector2<T>
& size);
80
92
template
<
typename
U>
93
explicit
Rect
(
const
Rect<U>
& rectangle);
94
109
bool
contains
(T x, T y)
const
;
110
124
bool
contains
(
const
Vector2<T>
& point)
const
;
125
136
bool
intersects
(
const
Rect<T>
& rectangle)
const
;
137
152
bool
intersects
(
const
Rect<T>
& rectangle,
Rect<T>
& intersection)
const
;
153
155
// Member data
157
T
left
;
158
T
top
;
159
T
width
;
160
T
height
;
161
};
162
175
template
<
typename
T>
176
bool
operator ==(
const
Rect<T>
& left,
const
Rect<T>
& right);
177
190
template
<
typename
T>
191
bool
operator !=(
const
Rect<T>
& left,
const
Rect<T>
& right);
192
193
#include <SFML/Graphics/Rect.inl>
194
195
// Create typedefs for the most common types
196
typedef
Rect<int>
IntRect
;
197
typedef
Rect<float>
FloatRect
;
198
199
}
// namespace sf
200
201
202
#endif // SFML_RECT_HPP
203
204
sf::Rect::intersects
bool intersects(const Rect< T > &rectangle) const
Check the intersection between two rectangles.
sf::Rect::top
T top
Top coordinate of the rectangle.
Definition:
Rect.hpp:158
sf::Rect::left
T left
Left coordinate of the rectangle.
Definition:
Rect.hpp:157
sf::Rect::height
T height
Height of the rectangle.
Definition:
Rect.hpp:160
sf::Rect::contains
bool contains(T x, T y) const
Check if a point is inside the rectangle's area.
sf::Rect
Utility class for manipulating 2D axis aligned rectangles.
Definition:
Rect.hpp:42
sf::Rect::width
T width
Width of the rectangle.
Definition:
Rect.hpp:159
sf::Rect::Rect
Rect()
Default constructor.
sf::Vector2
Utility template class for manipulating 2-dimensional vectors.
Definition:
Vector2.hpp:37