26 Commits

Author SHA1 Message Date
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