2 CLASS(NexuizSliderCheckBox) EXTENDS(CheckBox)
3 METHOD(NexuizSliderCheckBox, configureNexuizSliderCheckBox, void(entity, float, float, entity, string))
4 METHOD(NexuizSliderCheckBox, setChecked, void(entity, float))
5 METHOD(NexuizSliderCheckBox, draw, void(entity))
6 ATTRIB(NexuizSliderCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
7 ATTRIB(NexuizSliderCheckBox, image, string, SKINGFX_CHECKBOX)
9 ATTRIB(NexuizSliderCheckBox, color, vector, SKINCOLOR_CHECKBOX_N)
10 ATTRIB(NexuizSliderCheckBox, colorC, vector, SKINCOLOR_CHECKBOX_C)
11 ATTRIB(NexuizSliderCheckBox, colorF, vector, SKINCOLOR_CHECKBOX_F)
12 ATTRIB(NexuizSliderCheckBox, colorD, vector, SKINCOLOR_CHECKBOX_D)
14 ATTRIB(NexuizSliderCheckBox, disabledAlpha, float, SKINALPHA_DISABLED)
16 ATTRIB(NexuizSliderCheckBox, controlledSlider, entity, NULL)
17 ATTRIB(NexuizSliderCheckBox, offValue, float, -1)
18 ATTRIB(NexuizSliderCheckBox, inverted, float, 0)
19 ATTRIB(NexuizSliderCheckBox, savedValue, float, -1)
20 ENDCLASS(NexuizSliderCheckBox)
21 entity makeNexuizSliderCheckBox(float, float, entity, string);
25 entity makeNexuizSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
28 me = spawnNexuizSliderCheckBox();
29 me.configureNexuizSliderCheckBox(me, theOffValue, isInverted, theControlledSlider, theText);
32 void configureNexuizSliderCheckBoxNexuizSliderCheckBox(entity me, float theOffValue, float isInverted, entity theControlledSlider, string theText)
34 me.offValue = theOffValue;
35 me.inverted = isInverted;
36 me.checked = (theControlledSlider.value == theOffValue);
37 if(theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax))
38 me.savedValue = theControlledSlider.value;
40 me.savedValue = theControlledSlider.valueMin;
41 me.controlledSlider = theControlledSlider;
42 me.configureCheckBox(me, theText, me.fontSize, me.image);
44 void drawNexuizSliderCheckBox(entity me)
46 me.checked = ((me.controlledSlider.value == me.offValue) != me.inverted);
47 if(me.controlledSlider.value == median(me.controlledSlider.valueMin, me.controlledSlider.value, me.controlledSlider.valueMax))
48 me.savedValue = me.controlledSlider.value;
51 void setCheckedNexuizSliderCheckBox(entity me, float val)
56 if(val == me.inverted)
57 me.controlledSlider.setValue(me.controlledSlider, median(me.controlledSlider.valueMin, me.savedValue, me.controlledSlider.valueMax));
59 me.controlledSlider.setValue(me.controlledSlider, me.offValue);