37 Commits

Author SHA1 Message Date
Dmitry Marakasov
4ab3906b07 Whitespace fixes 2016-10-18 17:43:27 +03:00
Dmitry Marakasov
e6f9cdbf4c Add two arguments rect extension methods 2015-11-27 16:42:30 +03:00
Dmitry Marakasov
95142b065c Add Point and Rect less-than operator
This allows using them as map and set keys
2015-11-26 12:57:36 +03:00
Dmitry Marakasov
539e6c8fd1 Constexprify even more Rect methods 2015-07-07 21:28:30 +03:00
Dmitry Marakasov
beaa9ed3b8 Constexprify more Rect methods 2015-07-07 16:27:03 +03:00
Dmitry Marakasov
4f3256fda5 Constexprify Rect constructors 2015-07-07 15:42:03 +03:00
Dmitry Marakasov
fdcbcddc1d Implement stream output operators for Point and Rect 2015-01-20 02:56:34 +03:00
Dmitry Marakasov
ead93d1d69 Implement Rect::IntersectLine 2015-01-19 20:18:41 +03:00
Dmitry Marakasov
14f352dddd Implement Rect::Extend 2015-01-19 19:57:40 +03:00
Dmitry Marakasov
0de09713c9 Add mutating Union method 2015-01-19 19:51:43 +03:00
Dmitry Marakasov
c22b50e62e Add missing return 2015-01-19 01:08:27 +03:00
Dmitry Marakasov
40e8f71efa Make setters return reference to self: Point and Rect 2015-01-19 00:47:25 +03:00
Dmitry Marakasov
feaec6838b Remove deprecated functions 2015-01-11 06:39:50 +03:00
Dmitry Marakasov
0f4eea5aab Add another variant of Rect::Contains() 2015-01-08 06:53:25 +03:00
Dmitry Marakasov
325a7fef2a Simplify logic 2014-12-30 00:14:21 +03:00
Dmitry Marakasov
c584b1a005 Add Rect intersection and union methods 2014-12-30 00:14:14 +03:00
Dmitry Marakasov
837772dac0 Add various Rect constructors 2014-12-30 00:13:27 +03:00
Dmitry Marakasov
a5d558b1c1 Remove unused includes 2014-12-30 00:12:54 +03:00
Dmitry Marakasov
7506b05a77 Implement Rect::Contains(Rect), add corresponding test 2014-12-29 22:04:43 +03:00
Dmitry Marakasov
a1d01e89d4 Add Point/Rect constructors taking SDL_Point/SDL_Rect 2014-12-27 21:21:29 +03:00
Dmitry Marakasov
6d0213810b Switch to Optional
Remove "valid" flag from Rect and Point, derive them directly from
SDL_Rect and SDL_Point structures, simplify logic. Now x/y/w/h member
variables are directly accessible and Rect/Point may be passed as
SDL_Rect/SDL_Point via pointer or reference.

Change all cases where Null Rects and Points were used to Optional.

invalid state related functions like Null(), IsNull() and Get() are
now deprecated but are not removed yet for compatibility sake.
2014-12-25 19:10:41 +03:00
Dmitry Marakasov
f8c6b2a9fb Add operators to offset a Rect by a Point 2014-12-20 18:04:28 +03:00
Dmitry Marakasov
46591a9cbf Update project comment 2014-12-18 02:52:08 +03:00
Dmitry Marakasov
0124e2703a Update copyright years 2014-12-18 02:51:49 +03:00
Dmitry Marakasov
359a0e93c8 Implement Rect::Contains(Point) 2014-11-24 01:52:49 +03:00
Dmitry Marakasov
5a61a8f51b Fix Get() for null Points and Rects, add tests for it 2014-02-21 23:46:37 +04:00
Dmitry Marakasov
7b4b6c051a Don't use allocations inside Point and Rect
Instead, use boolean validity flag, which is much more practical
2014-02-21 17:11:48 +04:00
Dmitry Marakasov
f6d6572602 Fix Rect::FromCenter and add test for it 2014-02-11 06:01:36 +04:00
Dmitry Marakasov
66f4d5b57a Properly handle self-assignment 2014-02-11 05:51:15 +04:00
Dmitry Marakasov
1e4e1cb560 Define default ctors/assignments in source files to avoid using objects of incomplete type in them 2014-02-11 05:51:13 +04:00
Dmitry Marakasov
0365329dc0 Add Point and Rect comparison operators 2014-02-11 05:44:08 +04:00
Dmitry Marakasov
802322ef1b Add Point and Rect setters
While here, fix Rect::GetX2 and Rect::GetY2 off-by-one errors
2014-02-11 04:33:24 +04:00
Dmitry Marakasov
14819ba188 Remove Swap() methods as there's std::swap for this 2014-02-11 04:19:51 +04:00
Dmitry Marakasov
92925a9620 Add a way to swap some types of objects 2013-12-18 06:15:46 +04:00
Dmitry Marakasov
aa615060e4 Add getters and checks for nullness 2013-09-18 03:04:47 +04:00
Dmitry Marakasov
3011a62589 Add another named constructor for Rect 2013-09-06 02:03:47 +04:00
Dmitry Marakasov
c122f11643 Initial import 2013-09-06 01:47:05 +04:00