39 lines
1.1 KiB
Lua
39 lines
1.1 KiB
Lua
|
--- Draw text with drop shadows.
|
||
|
--
|
||
|
-- Drop shadows improve text contrast and readability.
|
||
|
--
|
||
|
-- @module gear.shadowtext
|
||
|
-- @copyright 2022 The DoubleFourteen Code Forge
|
||
|
-- @author Lorenzo Cogotti
|
||
|
|
||
|
local shadowtext = {}
|
||
|
|
||
|
|
||
|
--- Print text with drop shadow, supports the same arguments as love.graphics.print(text, x, y).
|
||
|
function shadowtext.print(text, x, y, ...)
|
||
|
local r,g,b,a = love.graphics.getColor()
|
||
|
|
||
|
-- Draw drop shadow.
|
||
|
love.graphics.setColor(0, 0, 0, a)
|
||
|
love.graphics.print(text, x+2, y+2, ...)
|
||
|
|
||
|
-- Draw text.
|
||
|
love.graphics.setColor(r, g, b, a)
|
||
|
love.graphics.print(text, x, y, ...)
|
||
|
end
|
||
|
|
||
|
--- Print text with drop shadow, supports the same arguments as love.graphics.printf(text, x, y).
|
||
|
function shadowtext.printf(text, x, y, ...)
|
||
|
local r,g,b,a = love.graphics.getColor()
|
||
|
|
||
|
-- Draw drop shadow.
|
||
|
love.graphics.setColor(0, 0, 0, a)
|
||
|
love.graphics.printf(text, x+2, y+2, ...)
|
||
|
|
||
|
-- Draw text.
|
||
|
love.graphics.setColor(r, g, b, a)
|
||
|
love.graphics.printf(text, x, y, ...)
|
||
|
end
|
||
|
|
||
|
return shadowtext
|