lain/util/separators.lua

118 lines
2.8 KiB
Lua
Raw Normal View History

2015-01-30 14:26:37 +01:00
--[[
Licensed under GNU General Public License v2
* (c) 2015, Luca CPZ
* (c) 2015, plotnikovanton
2015-01-30 14:26:37 +01:00
--]]
local wibox = require("wibox")
local gears = require("gears")
2015-01-30 14:26:37 +01:00
-- Lain Cairo separators util submodule
2015-01-30 14:26:37 +01:00
-- lain.util.separators
2017-01-22 02:13:02 +01:00
local separators = { height = 0, width = 9 }
2015-01-30 14:26:37 +01:00
-- [[ Arrow
-- Right
function separators.arrow_right(col1, col2)
local widget = wibox.widget.base.make_widget()
2018-11-05 01:57:54 +01:00
widget.col1 = col1
widget.col2 = col2
2015-01-30 14:26:37 +01:00
2020-11-29 22:48:32 +01:00
widget.fit = function(_, _, _)
2017-01-22 02:13:02 +01:00
return separators.width, separators.height
end
2015-01-30 14:26:37 +01:00
2020-11-29 22:48:32 +01:00
widget.update = function(_, _)
2018-11-05 01:57:54 +01:00
widget.col1 = col1
widget.col2 = col2
widget:emit_signal("widget::redraw_needed")
end
2020-11-29 22:48:32 +01:00
widget.draw = function(_, _, cr, width, height)
2018-11-05 01:57:54 +01:00
if widget.col2 ~= "alpha" then
2020-12-29 15:51:23 +01:00
cr:set_source_rgba(gears.color.parse_color(widget.col2))
2015-01-30 14:26:37 +01:00
cr:new_path()
cr:move_to(0, 0)
cr:line_to(width, height/2)
cr:line_to(width, 0)
cr:close_path()
cr:fill()
cr:new_path()
cr:move_to(0, height)
cr:line_to(width, height/2)
cr:line_to(width, height)
cr:close_path()
cr:fill()
end
2018-11-05 01:57:54 +01:00
if widget.col1 ~= "alpha" then
2020-12-29 15:51:23 +01:00
cr:set_source_rgba(gears.color.parse_color(widget.col1))
2015-01-30 14:26:37 +01:00
cr:new_path()
cr:move_to(0, 0)
cr:line_to(width, height/2)
cr:line_to(0, height)
cr:close_path()
cr:fill()
end
end
return widget
end
-- Left
function separators.arrow_left(col1, col2)
local widget = wibox.widget.base.make_widget()
2018-11-05 01:57:54 +01:00
widget.col1 = col1
widget.col2 = col2
2015-01-30 14:26:37 +01:00
2020-11-30 15:58:27 +01:00
widget.fit = function(_, _, _)
2017-01-22 02:13:02 +01:00
return separators.width, separators.height
end
2015-01-30 14:26:37 +01:00
2020-11-30 15:58:27 +01:00
widget.update = function(c1, c2)
widget.col1 = c1
widget.col2 = c2
2018-11-05 01:57:54 +01:00
widget:emit_signal("widget::redraw_needed")
end
2020-11-29 22:48:32 +01:00
widget.draw = function(_, _, cr, width, height)
2018-11-05 01:57:54 +01:00
if widget.col1 ~= "alpha" then
2020-12-29 15:51:23 +01:00
cr:set_source_rgba(gears.color.parse_color(widget.col1))
2015-01-30 14:26:37 +01:00
cr:new_path()
cr:move_to(width, 0)
cr:line_to(0, height/2)
cr:line_to(0, 0)
cr:close_path()
cr:fill()
cr:new_path()
cr:move_to(width, height)
cr:line_to(0, height/2)
cr:line_to(0, height)
cr:close_path()
cr:fill()
end
2018-11-05 01:57:54 +01:00
if widget.col2 ~= "alpha" then
2015-01-30 14:26:37 +01:00
cr:new_path()
cr:move_to(width, 0)
cr:line_to(0, height/2)
cr:line_to(width, height)
cr:close_path()
2020-12-29 15:51:23 +01:00
cr:set_source_rgba(gears.color.parse_color(widget.col2))
2015-01-30 14:26:37 +01:00
cr:fill()
end
end
return widget
end
-- ]]
return separators