conky-config/core/widget/arc/Arc.lua

32 lines
802 B
Lua

local c = {}
local _CR = require 'CR'
local _CAIRO_NEW_PATH = cairo_new_path
local _CAIRO_ARC = cairo_arc
local _CAIRO_COPY_PATH = cairo_copy_path
local _CAIRO_APPEND_PATH = cairo_append_path
local _CAIRO_SET_LINE_WIDTH = cairo_set_line_width
local _CAIRO_SET_LINE_CAP = cairo_set_line_cap
local _CAIRO_SET_SOURCE = cairo_set_source
local _CAIRO_STROKE = cairo_stroke
local draw = function(obj, cr)
_CAIRO_APPEND_PATH(cr, obj.path)
_CAIRO_SET_LINE_WIDTH(cr, obj.thickness)
_CAIRO_SET_LINE_CAP(cr, obj.cap)
_CAIRO_SET_SOURCE(cr, obj.source)
_CAIRO_STROKE(cr)
end
local create_path = function(x, y, radius, theta0, theta1)
_CAIRO_NEW_PATH(_CR)
_CAIRO_ARC(_CR, x, y, radius, theta0, theta1)
return _CAIRO_COPY_PATH(_CR)
end
c.draw = draw
c.create_path = create_path
return c