- press ENTER to search or ESC to cancel
Table of content
Globals namespaces
Constants
- Align
- AniDir
- BlendMode
- BrushPattern
- BrushType
- ColorMode
- FilterChannels
- Ink
- MouseButton
- MouseCursor
- RangeType
- SelectionMode
- SpriteSheetDataFormat
- SpriteSheetType
- WebSocketMessageType
Classes/objects
- Brush
- Cel
- Color
- ColorSpace
- Dialog
- Editor
- Events
- Frame
- GraphicsContext
- Image
- ImageSpec
- KeyEvent
- Layer
- MouseEvent
- Palette
- Plugin
- Point
- Properties
- Range
- Rectangle
- Selection
- Site
- Size
- Slice
- Sprite
- Tag
- Tile
- Tileset
- Timer
- Tool
- TouchEvent
- Version
- WebSocket
- Window
Rectangle
If a function receives a rectangle as an argument it could be several things:
- You can specify the parameters
x, y, width, height
directly as arguments of the function. E.g.sprite:crop(0, 16, 64, 32)
- You can specify an object with
x
,y
,width
, andheight
properties. E.g.sprite:crop{ x=0, y=16, width=64, height=32 }
- You can specify an array with 4 elements:
E.g.
sprite:crop{ 0, 16, 64, 32 }
- You can specify a
Rectangle
instance: E.g.sprite:crop(Rectangle(0, 16, 64, 32))
Rectangle()
Rectangle()
Rectangle(otherRectangle)
Rectangle(x, y, width, height)
Rectangle{x=number, y=number, width=number, height=number}
Rectangle{x=number, y=number, w=number, h=number}
Rectangle{number, number, number, number}
Rectangle.x
local x = rectangle.x
rectangle.x = newX
Gets or sets the x-coordinate of the rectangle. 0 means at the left side of the screen/sprite.
Rectangle.y
local y = rectangle.y
rectangle.y = newY
Gets or sets the y-coordinate of the rectangle. 0 means at the top side of the screen/sprite.
Rectangle.width
local width = rectangle.width
rectangle.width = newWidth
Gets or sets the width of the rectangle. If it's 0, the rectangle is empty (so the coordinate doesn't matter).
Rectangle.height
local height = rectangle.height
rectangle.height = newHeight
Gets or sets the height of the rectangle. If it's 0, the rectangle is empty (so the coordinate doesn't matter).
Rectangle.w
Same as Rectangle.width.
Rectangle.h
Same as Rectangle.height.
Rectangle.origin
local point = rectangle.origin
rectangle.origin = newPoint
Gets or sets the origin of the rectangle with a Point object, just like changing Rectangle.x and Rectangle.y at the same time.
Rectangle.size
local size = rectangle.size
rectangle.size = newSize
Gets or sets the size of the rectangle with a Size object, just like changing Rectangle.width and Rectangle.height at the same time.
Rectangle.isEmpty
local booleanResult = rectangle.isEmpty
Returns true if the rectangle is empty i.e. width and/or height are 0.
Rectangle:contains()
local booleanResult = rectangle:contains(otherRectangle)
Returns true if otherRectangle
is inside rectangle
.
Example:
local bounds = Rectangle{ x=0, y=0, width=32, height=32 }
local rectInside = Rectangle{ x=4, y=4, width=8, height=8 }
if bounds:contains(rectInside) then ... end
Rectangle:intersects()
local booleanResult = rectangle:intersects(otherRectangle)
Returns true if rectangle
intersects in some way otherRectangle
.
Rectangle:intersect()
local newRectangle = rectangle:intersect(otherRectangle)
Returns the new rectangle newRectangle
which is the intersection of
rectangle
and otherRectangle
. If both rectangles don't intersect each other, the result will be an empty rectangle
Rectangle:union()
local newRectangle = rectangle:union(otherRectangle)
Returns the new rectangle newRectangle
which will be a rectangle big
enough to contains both given rectangles rectangle
and
otherRectangle
.