summaryrefslogtreecommitdiff
path: root/examples/resources/lib/rectangle.lua
diff options
context:
space:
mode:
authorjussi2023-11-21 23:34:47 +0200
committerjussi2023-11-21 23:34:47 +0200
commit85a48cf09302a2a14aeeb2d6cf3b8fcc1607e222 (patch)
treed8b49bac0c6e9d339cf663d483270d08072b1e8d /examples/resources/lib/rectangle.lua
parent01883035b03b3d42818a7890fe6e845b0623f022 (diff)
downloadreilua-enhanced-85a48cf09302a2a14aeeb2d6cf3b8fcc1607e222.tar.gz
reilua-enhanced-85a48cf09302a2a14aeeb2d6cf3b8fcc1607e222.tar.bz2
reilua-enhanced-85a48cf09302a2a14aeeb2d6cf3b8fcc1607e222.zip
Raygui updated to version 4.0.
Diffstat (limited to 'examples/resources/lib/rectangle.lua')
-rw-r--r--examples/resources/lib/rectangle.lua15
1 files changed, 14 insertions, 1 deletions
diff --git a/examples/resources/lib/rectangle.lua b/examples/resources/lib/rectangle.lua
index 0b84b54..93f2bb3 100644
--- a/examples/resources/lib/rectangle.lua
+++ b/examples/resources/lib/rectangle.lua
@@ -3,6 +3,8 @@ if table.unpack == nil then
table.unpack = unpack
end
+local Vector2 = require( "vector2" )
+
Rectangle = {}
Rectangle.meta = {
@@ -34,7 +36,7 @@ Rectangle.meta = {
__idiv = function( r, v )
return Rectangle:new( r.x // v, r.y // v, r.width // v, r.height // v )
end,
- __len = function( _ )
+ __len = function()
return 4
end,
__eq = function( r1, r2 )
@@ -108,6 +110,17 @@ function Rectangle:area()
return self.width * self.height
end
+function Rectangle:fit( rec )
+ local pos = Vector2:new( math.min( self.x, rec.x ), math.min( self.y, rec.y ) )
+
+ return Rectangle:new(
+ pos.x,
+ pos.y,
+ math.max( self.x + self.width - pos.x, rec.x + rec.width - pos.x ),
+ math.max( self.y + self.height - pos.y, rec.y + rec.height - pos.y )
+ )
+end
+
function Rectangle:checkCollisionRec( rec )
return RL.CheckCollisionRecs( self, rec )
end