mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	MathUtil: Make Rectangle work with unsigned types.
This commit is contained in:
		
							parent
							
								
									c5c6e095f0
								
							
						
					
					
						commit
						e02ff0121f
					
				
					 1 changed files with 5 additions and 4 deletions
				
			
		|  | @ -7,6 +7,7 @@ | |||
| #include "common/common.h" | ||||
| 
 | ||||
| #include <algorithm> | ||||
| #include <type_traits> | ||||
| #include <vector> | ||||
| 
 | ||||
| namespace MathUtil | ||||
|  | @ -109,11 +110,11 @@ struct Rectangle | |||
|     Rectangle(T theLeft, T theTop, T theRight, T theBottom) | ||||
|         : left(theLeft), top(theTop), right(theRight), bottom(theBottom) | ||||
|     { } | ||||
|      | ||||
| 
 | ||||
|     bool operator==(const Rectangle& r) { return left==r.left && top==r.top && right==r.right && bottom==r.bottom; } | ||||
| 
 | ||||
|     T GetWidth() const { return abs(right - left); } | ||||
|     T GetHeight() const { return abs(bottom - top); } | ||||
|     T GetWidth() const { return std::abs(static_cast<typename std::make_signed<T>::type>(right - left)); } | ||||
|     T GetHeight() const { return std::abs(static_cast<typename std::make_signed<T>::type>(bottom - top)); } | ||||
| 
 | ||||
|     // If the rectangle is in a coordinate system with a lower-left origin, use
 | ||||
|     // this Clamp.
 | ||||
|  | @ -127,7 +128,7 @@ struct Rectangle | |||
| 
 | ||||
|     // If the rectangle is in a coordinate system with an upper-left origin,
 | ||||
|     // use this Clamp.
 | ||||
|     void ClampUL(T x1, T y1, T x2, T y2)  | ||||
|     void ClampUL(T x1, T y1, T x2, T y2) | ||||
|     { | ||||
|         if (left < x1) left = x1; | ||||
|         if (right > x2) right = x2; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue