2 CLASS(VoretCrosshairButton) EXTENDS(RadioButton)
\r
3 METHOD(VoretCrosshairButton, configureVoretCrosshairButton, void(entity, float, float))
\r
4 METHOD(VoretCrosshairButton, setChecked, void(entity, float))
\r
5 METHOD(VoretCrosshairButton, draw, void(entity))
\r
6 ATTRIB(VoretCrosshairButton, fontSize, float, SKINFONTSIZE_NORMAL)
\r
7 ATTRIB(VoretCrosshairButton, image, string, SKINGFX_CROSSHAIRBUTTON)
\r
9 ATTRIB(VoretCrosshairButton, useDownAsChecked, float, 1)
\r
10 ATTRIB(VoretCrosshairButton, src3, string, string_null)
\r
12 ATTRIB(VoretCrosshairButton, cvarName, string, string_null)
\r
13 ATTRIB(VoretCrosshairButton, cvarValueFloat, float, 0)
\r
14 METHOD(VoretCrosshairButton, loadCvars, void(entity))
\r
15 METHOD(VoretCrosshairButton, saveCvars, void(entity))
\r
16 ENDCLASS(VoretCrosshairButton)
\r
17 entity makeVoretCrosshairButton(float, float);
\r
20 #ifdef IMPLEMENTATION
\r
21 entity makeVoretCrosshairButton(float theGroup, float theCrosshair)
\r
24 me = spawnVoretCrosshairButton();
\r
25 me.configureVoretCrosshairButton(me, theGroup, theCrosshair);
\r
28 void configureVoretCrosshairButtonVoretCrosshairButton(entity me, float theGroup, float theCrosshair)
\r
30 me.cvarName = "crosshair";
\r
31 me.cvarValueFloat = theCrosshair;
\r
33 me.configureRadioButton(me, string_null, me.fontSize, me.image, theGroup, 0);
\r
35 me.src3 = strzone(strcat("/gfx/crosshair", ftos(me.cvarValueFloat)));
\r
37 void setCheckedVoretCrosshairButton(entity me, float val)
\r
39 if(val != me.checked)
\r
45 void loadCvarsVoretCrosshairButton(entity me)
\r
50 me.checked = (cvar(me.cvarName) == me.cvarValueFloat);
\r
52 void saveCvarsVoretCrosshairButton(entity me)
\r
58 cvar_set(me.cvarName, ftos(me.cvarValueFloat));
\r
59 // TODO on an apply button, read _cl_color and execute the color command for it
\r
61 void drawVoretCrosshairButton(entity me)
\r
66 rgb = eX * cvar("crosshair_color_red") + eY * cvar("crosshair_color_green") + eZ * cvar("crosshair_color_blue");
\r
67 a = cvar("crosshair_color_alpha");
\r
69 if(!me.checked && !me.focused)
\r
71 a *= me.disabledAlpha;
\r
77 sz = draw_PictureSize(me.src3);
\r
78 sz = globalToBoxSize(sz, draw_scale);
\r
79 sz = sz * cvar("crosshair_size");
\r
81 sz = sz * (0.95 / sz_x);
\r
83 sz = sz * (0.95 / sz_y);
\r
85 draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src3, sz, rgb, a);
\r