slider problem

Blitz3D Forums/Blitz3D Programming/slider problem

Guy Fawkes(Posted 2009) [#1]
Is there anyway to fix select of both sliders at once?

http://i406.photobucket.com/albums/pp148/DarkShadowWing/sliders.png


Guy Fawkes(Posted 2009) [#2]
and dont send me to the devilgui forum. i tried, and its down for maintanence.


FlagDKT(Posted 2009) [#3]
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.