1 #include "checkbox_slider_invalid.qh"
5 entity makeXonoticSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
8 me = NEW(XonoticSliderCheckBox);
9 me.configureXonoticSliderCheckBox(me, theOffValue, isInverted, theControlledSlider, theText);
12 void XonoticSliderCheckBox_configureXonoticSliderCheckBox(entity me, float theOffValue, float isInverted, entity theControlledSlider, string theText)
14 me.offValue = theOffValue;
15 me.inverted = isInverted;
16 me.checked = (theControlledSlider.value == theOffValue);
17 if(theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax))
18 me.savedValue = theControlledSlider.value;
20 me.savedValue = theControlledSlider.valueMin;
21 me.controlledSlider = theControlledSlider;
22 me.configureCheckBox(me, theText, me.fontSize, me.image);
23 me.cvarName = theControlledSlider.cvarName; // in case we want to display the cvar in the tooltip
24 me.tooltip = theControlledSlider.tooltip;
26 void XonoticSliderCheckBox_draw(entity me)
28 me.checked = ((me.controlledSlider.value == me.offValue) != me.inverted);
29 if(me.controlledSlider.value == median(me.controlledSlider.valueMin, me.controlledSlider.value, me.controlledSlider.valueMax))
30 me.savedValue = me.controlledSlider.value;
31 SUPER(XonoticSliderCheckBox).draw(me);
33 void XonoticSliderCheckBox_setChecked(entity me, float val)
38 if(val == me.inverted)
39 me.controlledSlider.setValue(me.controlledSlider, median(me.controlledSlider.valueMin, me.savedValue, me.controlledSlider.valueMax));
41 me.controlledSlider.setValue(me.controlledSlider, me.offValue);