Initial commit
This commit is contained in:
commit
209ba130c0
4852 changed files with 1517959 additions and 0 deletions
44
.config/lite-xl/plugins/lintplus/renderutil.lua
Normal file
44
.config/lite-xl/plugins/lintplus/renderutil.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
-- rendering utilities
|
||||
|
||||
local common = require "core.common"
|
||||
|
||||
local renderutil = {}
|
||||
|
||||
function renderutil.draw_dotted_line(x, y, length, axis, color)
|
||||
if axis == 'x' then
|
||||
for xx = x, x + length, 2 do
|
||||
renderer.draw_rect(xx, y, 1, 1, color)
|
||||
end
|
||||
elseif axis == 'y' then
|
||||
for yy = y, y + length, 2 do
|
||||
renderer.draw_rect(x, yy, 1, 1, color)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function plot(x, y, color)
|
||||
renderer.draw_rect(x, y, 1, 1, color)
|
||||
end
|
||||
|
||||
function renderutil.draw_quarter_circle(x, y, r, color, flipy)
|
||||
-- inefficient for large circles, but it works.
|
||||
color = { table.unpack(color) }
|
||||
local a = color[4]
|
||||
for dx = 0, r - 1 do
|
||||
for dy = 0, r - 1 do
|
||||
local xx = r - 1 - dx
|
||||
local yy = dy
|
||||
if not flipy then
|
||||
yy = r - 1 - dy
|
||||
end
|
||||
local t = math.abs(math.sqrt(xx*xx + yy*yy) - r + 1)
|
||||
t = common.clamp(1 - t, 0, 1)
|
||||
if t > 0 then
|
||||
color[4] = a * t
|
||||
plot(x + dx, y + dy, color)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return renderutil
|
||||
Loading…
Add table
Add a link
Reference in a new issue