Initial commit
This commit is contained in:
commit
209ba130c0
4852 changed files with 1517959 additions and 0 deletions
61
.config/lite-xl/libraries/widget/line.lua
Normal file
61
.config/lite-xl/libraries/widget/line.lua
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
--
|
||||
-- Line Widget.
|
||||
-- @copyright Jefferson Gonzalez
|
||||
-- @license MIT
|
||||
--
|
||||
|
||||
local style = require "core.style"
|
||||
local Widget = require "libraries.widget"
|
||||
|
||||
---@class widget.line : widget
|
||||
---@field public padding integer
|
||||
---@field private custom_width number
|
||||
local Line = Widget:extend()
|
||||
|
||||
---Constructor
|
||||
---@param parent widget
|
||||
---@param thickness integer
|
||||
---@param padding number
|
||||
function Line:new(parent, thickness, padding)
|
||||
Line.super.new(self, parent)
|
||||
self.type_name = "widget.line"
|
||||
self.size.y = thickness or 2
|
||||
self.custom_width = nil
|
||||
self.border.width = 0
|
||||
self.padding = padding or (style.padding.x / 2)
|
||||
end
|
||||
|
||||
---Set the thickness of the line
|
||||
---@param thickness number
|
||||
function Line:set_thickness(thickness)
|
||||
self.size.y = thickness or 2
|
||||
end
|
||||
|
||||
---Set a custom width for the line
|
||||
---@param width number
|
||||
function Line:set_width(width)
|
||||
self.custom_width = width
|
||||
self.size.x = width
|
||||
end
|
||||
|
||||
function Line:draw()
|
||||
if not self:is_visible() then return false end
|
||||
|
||||
if not self.custom_width then
|
||||
self.size.x = self.parent.size.x - (self.padding * 2)
|
||||
end
|
||||
|
||||
renderer.draw_rect(
|
||||
self.position.x + self.padding,
|
||||
self.position.y,
|
||||
self.size.x,
|
||||
self.size.y,
|
||||
self.foreground_color or style.caret
|
||||
)
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
return Line
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue