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

View File

@ -32,9 +32,10 @@ class SoundSlider(Slider):
_NeedleSurf = None _NeedleSurf = None
_Scale = None _Scale = None
_Parent = 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] ] snd_segs = [ [0,20],[21,40],[41,50],[51,60],[61,70],[71,85],[86,90],[91,95],[96,100] ]
def __init__(self): def __init__(self):
Slider.__init__(self) Slider.__init__(self)
@ -58,20 +59,23 @@ class SoundSlider(Slider):
self._Scale._IconHeight = 63 self._Scale._IconHeight = 63
self._Scale.Adjust(0,0,82,63,0) 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): for i,v in enumerate(self.snd_segs):
if pct >= v[0] and pct <= v[1]: if vol >= v[0] and vol <= v[1]:
self._Value = i self._Value = i # self._Value : 0 - 8
break
def Further(self): def Further(self):
self._Value+=1 self._Value+=1
if self._Value < len(self._Segs):
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 self.OnChangeCB != None:
if callable(self.OnChangeCB): if callable(self.OnChangeCB):
self.OnChangeCB( self._Segs[ self._Value ] ) self.OnChangeCB( vol )
else:
self._Value = len(self._Segs)-1
def StepBack(self): def StepBack(self):
self._Value-=1 self._Value-=1
@ -79,9 +83,11 @@ class SoundSlider(Slider):
if self._Value < 0: if self._Value < 0:
self._Value = 0 self._Value = 0
vol = self.snd_segs[self._Value][0]
if self.OnChangeCB != None: if self.OnChangeCB != None:
if callable(self.OnChangeCB): if callable(self.OnChangeCB):
self.OnChangeCB(self._Segs[self._Value] ) self.OnChangeCB( vol )
def Draw(self): def Draw(self):