pygauge: Smooth colour transition 0 - 100 : 100 - 105 +
This commit is contained in:
@@ -223,15 +223,7 @@ class PyGauge(wx.PyWindow):
|
||||
rect.Deflate(pad,pad)
|
||||
|
||||
if self.GetBarGradient():
|
||||
# if value > self._range:
|
||||
# if self._overdriveToggle==-1:
|
||||
# c1 =wx.Colour(200,0,0)
|
||||
# c2 =wx.Colour(200,0,0)
|
||||
# else:
|
||||
# c1 =wx.Colour(255,0,0)
|
||||
# c2 =wx.Colour(255,0,0)
|
||||
|
||||
# else:
|
||||
c1,c2 = self.GetBarGradient()
|
||||
if value > self._range:
|
||||
w = rect.width
|
||||
@@ -240,13 +232,26 @@ class PyGauge(wx.PyWindow):
|
||||
r = copy.copy(rect)
|
||||
r.width = w
|
||||
r.height = r.height/2+1
|
||||
pv= 100 * (float(value if value <= self._range else self._range) / self._range)
|
||||
if value <= self._range:
|
||||
pv= 100 * (float(value) / self._range)
|
||||
|
||||
if pv <= 100:
|
||||
c1 = map(lambda t: sum(t), zip(c1, (0,pv/3,-pv,0)))
|
||||
c2 = map(lambda t: sum(t), zip(c2, (0,pv/3,-pv,0)))
|
||||
else:
|
||||
c1 = map(lambda t: sum(t), zip(c2, (pv/2,-pv/2,-pv/2,0)))
|
||||
c2 = wx.Colour(255,0,0)
|
||||
if pv <= 105:
|
||||
xv = pv -100
|
||||
c1 = map(lambda t: sum(t), zip(c1, (0,100/3,-100,0)))
|
||||
c1 = map(lambda t: sum(t), zip(c1, (xv*10,-xv*20,0,0)))
|
||||
c2 = map(lambda t: sum(t), zip(c2, (0,100/3,-100,0)))
|
||||
c2 = map(lambda t: sum(t), zip(c2, (xv*10,-xv*20,0,0)))
|
||||
# c1 = wx.Colour(170,0,0)
|
||||
else:
|
||||
pv = 106
|
||||
xv = pv -100
|
||||
c2 = map(lambda t: sum(t), zip(c2, (0,100/3,-100,0)))
|
||||
c2 = map(lambda t: sum(t), zip(c2, (xv*15,-xv*20,0,0)))
|
||||
# c2 = map(lambda t: sum(t), zip(c2, (2*pv/3,-pv/2,-pv/2,0)))
|
||||
c1 = wx.Colour(255,0,0)
|
||||
|
||||
dc.GradientFillLinear(r, c1, c2, wx.SOUTH)
|
||||
r.top = r.height
|
||||
|
||||
Reference in New Issue
Block a user