fix sound and brightness

This commit is contained in:
cuu 2018-06-02 23:10:08 +08:00
parent 0aa4b5c5d7
commit 3247d2e3d6
2 changed files with 34 additions and 29 deletions

View File

@ -62,18 +62,18 @@ class BSlider(Slider):
def Further(self):
self._Value+=1
if self._Value < 9 :
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
self.OnChangeCB(self._Value)
else:
self._Value = 8
if self._Value > 9:
self._Value = 9
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
self.OnChangeCB(self._Value)
def StepBack(self):
self._Value-=1
if self._Value < 0:
self._Value = 0
if self._Value < 1:
self._Value = 1
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
@ -86,7 +86,10 @@ class BSlider(Slider):
self._Icons["scale"].NewCoord(self._Width/2,self._Height/2 )
self._Icons["scale"]._IconIndex = self._Value
icon_idx = self._Value - 1
if icon_idx < 0:
icon_idx = 0
self._Icons["scale"]._IconIndex = icon_idx
self._Icons["scale"].Draw()
"""
pygame.draw.line(self._CanvasHWND,(255,0,0), (posx,self._PosY),(self._Width,self._PosY),3) ## range line
@ -103,8 +106,6 @@ class BrightnessPage(Page):
_MySlider = None
_FootMsg = ["Nav","","","Back","Enter"]
_Max = 8
_Min = 0
def Init(self):
self._CanvasHWND = self._Screen._CanvasHWND
@ -141,23 +142,21 @@ class BrightnessPage(Page):
def OnLoadCb(self):
brt = self.ReadBackLight()
self._MySlider.SetValue( brt)
def SetBackLight(self,newbrt):
try:
f = open(BackLight,'w')
except IOError:
print("Open write %s failed %d" % (BackLight,newbrt+1))
print("Open write %s failed %d" % (BackLight,newbrt))
return False
else:
with f:
f.write(str(newbrt+1))
f.write(str(newbrt))
return True
def WhenSliderDrag(self,value): ##value
if value < self._Min or value > self._Max:
return
self.SetBackLight(value)
def KeyDown(self,event):

View File

@ -32,8 +32,9 @@ class SoundSlider(Slider):
_NeedleSurf = None
_Scale = None
_Parent = None
_Segs = [0,15,29, 45,55,65, 75,90,100]
snd_segs = [ [0,20],[21,40],[41,50],[51,60],[61,70],[71,85],[86,90],[91,95],[96,100] ]
def __init__(self):
Slider.__init__(self)
@ -58,20 +59,23 @@ class SoundSlider(Slider):
self._Scale._IconHeight = 63
self._Scale.Adjust(0,0,82,63,0)
def SetValue(self,pct):#pct 0-100
def SetValue(self,vol):#pct 0-100
for i,v in enumerate(self.snd_segs):
if pct >= v[0] and pct <= v[1]:
self._Value = i
if vol >= v[0] and vol <= v[1]:
self._Value = i # self._Value : 0 - 8
break
def Further(self):
self._Value+=1
if self._Value < len(self._Segs):
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
self.OnChangeCB( self._Segs[ self._Value ] )
else:
self._Value = len(self._Segs)-1
if self._Value > len(self.snd_segs)-1:
self._Value = len(self.snd_segs) -1
vol = self.snd_segs[self._Value][0] + (self.snd_segs[self._Value][1] - self.snd_segs[self._Value][0])/2
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
self.OnChangeCB( vol )
def StepBack(self):
self._Value-=1
@ -79,9 +83,11 @@ class SoundSlider(Slider):
if self._Value < 0:
self._Value = 0
vol = self.snd_segs[self._Value][0]
if self.OnChangeCB != None:
if callable(self.OnChangeCB):
self.OnChangeCB(self._Segs[self._Value] )
self.OnChangeCB( vol )
def Draw(self):
@ -89,7 +95,7 @@ class SoundSlider(Slider):
self._BGpng.Draw()
self._Scale.NewCoord(self._Width/2,self._Height/2)
self._Scale._IconIndex = self._Value
self._Scale.Draw()