From 02a159eaf8a8d4c485ec86001d93e8b8f23d2b23 Mon Sep 17 00:00:00 2001 From: chrox Date: Sun, 24 Feb 2013 15:22:05 +0800 Subject: [PATCH] a better looking progress bar widget --- frontend/ui/widget.lua | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/frontend/ui/widget.lua b/frontend/ui/widget.lua index 27c269ed1..dbeae3f3a 100644 --- a/frontend/ui/widget.lua +++ b/frontend/ui/widget.lua @@ -430,7 +430,14 @@ ProgressWidget shows a progress bar ProgressWidget = Widget:new{ width = nil, height = nil, - pecentage = nil, + margin_h = 3, + margin_v = 1, + radius = 2, + bordersize = 1, + bordercolor = 15, + bgcolor = 0, + rectcolor = 10, + percentage = nil, } function ProgressWidget:getSize() @@ -438,8 +445,15 @@ function ProgressWidget:getSize() end function ProgressWidget:paintTo(bb, x, y) - local size = self:getSize() - bb:progressBar(x, y, self.width, self.height, size.w, size.h, 2, 2, self.percentage, 15) + local my_size = self:getSize() + bb:paintRoundedRect(x, y, my_size.w, my_size.h, self.bgcolor, self.radius) + bb:paintBorder(x, y, my_size.w, my_size.h, self.bordersize, self.bordercolor, self.radius) + bb:paintRect(x+self.margin_h, y+self.margin_v+self.bordersize, + (my_size.w-2*self.margin_h)*self.percentage, (my_size.h-2*(self.margin_v+self.bordersize)), self.rectcolor) +end + +function ProgressWidget:setPercentage(percentage) + self.percentage = percentage end --[[