X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcolorpicker_string.qc;h=7dd4b5698a547cadd5b8c984d63639b28ca721fd;hb=af2f0cb624aaf967708b22e1303d113668af5114;hp=6a126dc9fd4dd1a58e874d6d4c436275599c3524;hpb=785232fc90ed7bd7038c79f65534a7e79efd7f45;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/colorpicker_string.qc b/qcsrc/menu/xonotic/colorpicker_string.qc index 6a126dc9f..7dd4b5698 100644 --- a/qcsrc/menu/xonotic/colorpicker_string.qc +++ b/qcsrc/menu/xonotic/colorpicker_string.qc @@ -1,25 +1,7 @@ -#ifndef COLORPICKER_STRING_H -#define COLORPICKER_STRING_H -#include "../item/image.qc" -CLASS(XonoticColorpickerString, Image) - METHOD(XonoticColorpickerString, configureXonoticColorpickerString, void(entity, string, string)); - METHOD(XonoticColorpickerString, mousePress, float(entity, vector)); - METHOD(XonoticColorpickerString, mouseRelease, float(entity, vector)); - METHOD(XonoticColorpickerString, mouseDrag, float(entity, vector)); - ATTRIB(XonoticColorpickerString, cvarName, string, string_null) - METHOD(XonoticColorpickerString, loadCvars, void(entity)); - METHOD(XonoticColorpickerString, saveCvars, void(entity)); - ATTRIB(XonoticColorpickerString, prevcoords, vector, '0 0 0') - ATTRIB(XonoticColorpickerString, image, string, SKINGFX_COLORPICKER) - ATTRIB(XonoticColorpickerString, imagemargin, vector, SKINMARGIN_COLORPICKER) - ATTRIB(XonoticColorpickerString, focusable, float, 1) - METHOD(XonoticColorpickerString, draw, void(entity)); - ATTRIB(XonoticColorpickerString, disabledAlpha, float, 0.3) -ENDCLASS(XonoticColorpickerString) -entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar); -#endif - -#ifdef IMPLEMENTATION +#include "colorpicker_string.qh" + +.bool disabled; + entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar) { entity me; @@ -30,53 +12,48 @@ entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar) void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar, string theDefaultCvar) { - me.cvarName = theCvar; me.configureImage(me, me.image); - if(theCvar) - { - me.cvarName = theCvar; - me.tooltip = getZonedTooltipForIdentifier(theCvar); - me.loadCvars(me); - } + me.controlledCvar = (theCvar) ? theCvar : string_null; + me.loadCvars(me); } void XonoticColorpickerString_loadCvars(entity me) { - if (!me.cvarName) + if (!me.controlledCvar) return; - if(substring(me.cvarName, -1, 1) == "_") + if(substring(me.controlledCvar, -1, 1) == "_") { me.prevcoords = color_hslimage( - eX * cvar(strcat(me.cvarName, "red")) + - eY * cvar(strcat(me.cvarName, "green")) + - eZ * cvar(strcat(me.cvarName, "blue")), + eX * cvar(strcat(me.controlledCvar, "red")) + + eY * cvar(strcat(me.controlledCvar, "green")) + + eZ * cvar(strcat(me.controlledCvar, "blue")), me.imagemargin); } else - me.prevcoords = color_hslimage(stov(cvar_string(me.cvarName)), me.imagemargin); + me.prevcoords = color_hslimage(stov(cvar_string(me.controlledCvar)), me.imagemargin); } void XonoticColorpickerString_saveCvars(entity me) { - if (!me.cvarName) + if (!me.controlledCvar) return; - if(substring(me.cvarName, -1, 1) == "_") + if(substring(me.controlledCvar, -1, 1) == "_") { vector v = hslimage_color(me.prevcoords, me.imagemargin); - cvar_set(strcat(me.cvarName, "red"), ftos(v.x)); - cvar_set(strcat(me.cvarName, "green"), ftos(v.y)); - cvar_set(strcat(me.cvarName, "blue"), ftos(v.z)); + cvar_set(strcat(me.controlledCvar, "red"), ftos(v.x)); + cvar_set(strcat(me.controlledCvar, "green"), ftos(v.y)); + cvar_set(strcat(me.controlledCvar, "blue"), ftos(v.z)); } else - cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin))); + cvar_set(me.controlledCvar, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin))); } -float XonoticColorpickerString_mousePress(entity me, vector coords) +METHOD(XonoticColorpickerString, mousePress, bool(XonoticColorpickerString this, vector pos)) { - me.mouseDrag(me, coords); - return 1; + this.mouseDrag(this, pos); + return true; } float XonoticColorpickerString_mouseDrag(entity me, vector coords) @@ -122,4 +99,3 @@ void XonoticColorpickerString_draw(entity me) draw_alpha = save; } -#endif