mirror of https://github.com/aseprite/aseprite.git
				
				
				
			
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
| -- Copyright (C) 2019-2022  Igara Studio S.A.
 | |
| -- Copyright (C) 2018  David Capello
 | |
| --
 | |
| -- This file is released under the terms of the MIT license.
 | |
| -- Read LICENSE.txt for more information.
 | |
| 
 | |
| local rc = Rectangle()
 | |
| assert(rc.x == 0)
 | |
| assert(rc.y == 0)
 | |
| assert(rc.width == 0)
 | |
| assert(rc.height == 0)
 | |
| assert(rc.isEmpty)
 | |
| 
 | |
| rc = Rectangle(1, 2, 3, 4)
 | |
| assert(rc.x == 1)
 | |
| assert(rc.y == 2)
 | |
| assert(rc.width == 3)
 | |
| assert(rc.height == 4)
 | |
| assert(rc.origin == Point(1, 2))
 | |
| assert(rc.size == Size(3, 4))
 | |
| assert(not rc.isEmpty)
 | |
| assert("Rectangle{ x=1, y=2, width=3, height=4 }" == tostring(rc))
 | |
| 
 | |
| local rc2 = Rectangle(rc)
 | |
| assert(rc2.x == 1)
 | |
| assert(rc2.y == 2)
 | |
| assert(rc2.width == 3)
 | |
| assert(rc2.height == 4)
 | |
| 
 | |
| rc.x = 5
 | |
| rc.y = 6
 | |
| rc.width = 7
 | |
| rc.height = 8
 | |
| assert(rc.x == 5)
 | |
| assert(rc.y == 6)
 | |
| assert(rc.width == 7)
 | |
| assert(rc.height == 8)
 | |
| 
 | |
| rc.origin = Point(10, 12)
 | |
| assert(rc.x == 10)
 | |
| assert(rc.y == 12)
 | |
| assert(rc.width == 7)
 | |
| assert(rc.height == 8)
 | |
| 
 | |
| rc.size = Size(32, 64)
 | |
| assert(rc.x == 10)
 | |
| assert(rc.y == 12)
 | |
| assert(rc.width == 32)
 | |
| assert(rc.height == 64)
 | |
| 
 | |
| rc = Rectangle{x=2, y=3, width=4, height=5}
 | |
| assert(rc.x == 2)
 | |
| assert(rc.y == 3)
 | |
| assert(rc.width == 4)
 | |
| assert(rc.height == 5)
 | |
| 
 | |
| rc = Rectangle{6, 7, 8, 9}
 | |
| assert(rc.x == 6)
 | |
| assert(rc.y == 7)
 | |
| assert(rc.width == 8)
 | |
| assert(rc.height == 9)
 | |
| 
 | |
| rc = Rectangle(Point(2, 3), Size(4, 5))
 | |
| assert(rc.x == 2)
 | |
| assert(rc.y == 3)
 | |
| assert(rc.width == 4)
 | |
| assert(rc.height == 5)
 | |
| 
 | |
| -- Rectangle:contains
 | |
| 
 | |
| local a = Rectangle{x=2, y=3, width=4, height=5}
 | |
| local b = Rectangle{x=3, y=4, width=1, height=1}
 | |
| assert(a:contains(b))
 | |
| assert(not b:contains(a))
 | |
| 
 | |
| -- Rectangle:intersect
 | |
| 
 | |
| assert(a:intersects(b))
 | |
| assert(b == a:intersect(b))
 | |
| 
 | |
| a = Rectangle{x=2, y=3, width=4, height=5}
 | |
| b = Rectangle{x=3, y=4, width=4, height=5}
 | |
| c = Rectangle{x=3, y=4, width=3, height=4}
 | |
| assert(c == a:intersect(b))
 | |
| assert(c == b:intersect(a))
 | |
| assert((a & b) == c)
 | |
| 
 | |
| -- Rectangle:union
 | |
| 
 | |
| c = Rectangle{x=2, y=3, width=5, height=6}
 | |
| assert(c == a:union(b))
 | |
| assert(c == (a | b))
 |