@@ -200,12 +200,16 @@ if g == nil then if type(r) == 'string' then assert(false) -- TODO parse color string elseif type(r) == 'table' then - new.red = r[1] - new.green = r[2] - new.blue = r[3] - new.alpha = r[4] + if r.hue then + return from_hsl(r, r.alpha or g) + else + new.red = r[1] + new.green = r[2] + new.blue = r[3] + new.alpha = r[4] + end else assert(false) end else new.red = r new.green = g