Change this in devilgui.bb
Function GUI_UpdateSlider(owner)
skin.GUI_Skin = gui\skin
Local gadArr.GUI_Slider[100]
For gad.GUI_Slider = Each GUI_Slider
If gad\owner = owner Then
If gad\enabled Then
cnt=cnt+1
gadArr[cnt]=gad
GUI_GadgetOffset(Handle(gad))
val = GUI_Interpolate#(gad\value#, gad\min#, gad\max#, 0, gad\w)
mo = GUI_MouseOver(gui\gadox + val - 4, gui\gadoy, 9, skin\Slider_Height)
If mo>0 And cnt>lastMo Then lastMo=cnt
EndIf
EndIf
Next
For gad.GUI_Slider = Each GUI_Slider
If gad\owner = owner Then
GUI_GadgetOffset(Handle(gad))
DrawImage gad\img, gui\gadox, gui\gadoy
val = GUI_Interpolate#(gad\value#, gad\min#, gad\max#, 0, gad\w)
mo = GUI_MouseOver(gui\gadox + val - 4, gui\gadoy, 9, skin\Slider_Height)
f = 0
If gad\enabled Then
f = 1
If mo And (gad=gadArr[lastMo]) Then f = 2
If gad\pp <> -1 Then f = 3
;Push arround
If gad\enabled Then
If gad\pp <> -1 Then
val = gui\mx - gui\gadox - gad\pp + w / 2
gui\event = Handle(gad)
gui\PointerFrame = skin\Pointer_Slider
EndIf
If ((mo And gui\mh1 And (gad=gadArr[lastMo])) Or gad\pp <> -1) Then
gad\pp = gui\mx - gui\gadox - val + w / 2
Else
gad\pp = -1
EndIf
If gui\mu1 Then gad\pp = -1
If val < 0 Then val = 0
If val > gad\w Then val = gad\w
gad\value# = GUI_Interpolate#(val, 0, gad\w, gad\min#, gad\max#)
EndIf
EndIf
DrawImage skin\Img_Slider, gui\gadox + val - 4, gui\gadoy, 3 + f
EndIf
Next
End Function
Btw It should be optimized, it does a double check. This way last drawed slider gets priority.
|