mirror of
https://github.com/Reuh/ubiquitousse.git
synced 2025-10-27 17:19:31 +00:00
Initial commit
This commit is contained in:
commit
fc40d440df
11 changed files with 1828 additions and 0 deletions
72
draw.lua
Normal file
72
draw.lua
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
-- abstract.draw
|
||||
local abstract = require((...):match("^(.-abstract)%."))
|
||||
|
||||
--- The drawing functions: everything that affect the display/window.
|
||||
-- The coordinate system used is:
|
||||
--
|
||||
-- (0,0) +---> (x)
|
||||
-- |
|
||||
-- |
|
||||
-- v (y)
|
||||
--
|
||||
-- x and y values can be float, so make sure to perform math.floor if your engine only support
|
||||
-- integer coordinates.
|
||||
return {
|
||||
--- Sets the drawing color
|
||||
-- @tparam number r the red component (0-255)
|
||||
-- @tparam number g the green component (0-255)
|
||||
-- @tparam number b the blue component (0-255)
|
||||
-- @tparam[opt=255] number a the alpha (opacity) component (0-255)
|
||||
-- @impl backend
|
||||
color = function(r, g, b, a) end,
|
||||
|
||||
--- Draws some text.
|
||||
-- @tparam number x x top-left coordinate of the text
|
||||
-- @tparam number y y top-left coordinate of the text
|
||||
-- @tparam string text the text to draw. UTF-8 format, convert if needed.
|
||||
-- @impl backend
|
||||
text = function(x, y, text) end,
|
||||
|
||||
--- Draws a line.
|
||||
-- @tparam number x1 line start x coordinate
|
||||
-- @tparam number y1 line start y coordinate
|
||||
-- @tparam number x2 line end x coordinate
|
||||
-- @tparam number y2 line end y coordinate
|
||||
-- @impl backend
|
||||
line = function(x1, y1, x2, y2) end,
|
||||
|
||||
--- Draws a filled rectangle
|
||||
-- @tparam number x rectangle top-left x coordinate
|
||||
-- @tparam number y rectangle top-left x coordinate
|
||||
-- @tparam number width rectangle width
|
||||
-- @tparam number height rectangle height
|
||||
-- @impl backend
|
||||
rectangle = function(x, y, width, height) end,
|
||||
|
||||
--- Enables the scissor test.
|
||||
-- When enabled, every pixel drawn outside of the scissor rectangle is discarded.
|
||||
-- When called withou arguments, it disables the scissor test.
|
||||
-- @tparam number x rectangle top-left x coordinate
|
||||
-- @tparam number y rectangle top-left x coordinate
|
||||
-- @tparam number width rectangle width
|
||||
-- @tparam number height rectangle height
|
||||
-- @impl backend
|
||||
scissor = function(x, y, width, height) end,
|
||||
|
||||
--- The drawing area width, in pixels.
|
||||
-- @impl backend
|
||||
width = abstract.params.width,
|
||||
|
||||
--- The drawing area height, in pixels.
|
||||
-- @impl backend
|
||||
height = abstract.params.height,
|
||||
|
||||
-- TODO: doc & api
|
||||
push = function() end,
|
||||
pop = function() end,
|
||||
polygon = function(...) end,
|
||||
circle = function(x, y, radius) end,
|
||||
translate = function(x, y) end,
|
||||
font = function(filename) end,
|
||||
image = function(filename) end,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue