X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcolorpicker_string.c;h=f57c768a5fcb3d80ce4da5bc16d65845fcb5164a;hb=63616e9884bee2592d61b70d313b8f269278fe23;hp=3633553044c314c4fbc7c846ad6ea7e0e53079ec;hpb=a5f1a00835fb892604248d4de5c4664d8d359928;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/colorpicker_string.c b/qcsrc/menu/xonotic/colorpicker_string.c index 363355304..f57c768a5 100644 --- a/qcsrc/menu/xonotic/colorpicker_string.c +++ b/qcsrc/menu/xonotic/colorpicker_string.c @@ -1,6 +1,6 @@ #ifdef INTERFACE CLASS(XonoticColorpickerString) EXTENDS(Image) - METHOD(XonoticColorpickerString, configureXonoticColorpickerString, void(entity, string)) + 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)) @@ -12,23 +12,26 @@ CLASS(XonoticColorpickerString) EXTENDS(Image) METHOD(XonoticColorpickerString, draw, void(entity)) ATTRIB(XonoticColorpickerString, disabledAlpha, float, 0.3) ENDCLASS(XonoticColorpickerString) -entity makeXonoticColorpickerString(string theCvar); +entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar); #endif #ifdef IMPLEMENTATION -entity makeXonoticColorpickerString(string theCvar) +entity makeXonoticColorpickerString(string theCvar, string theDefaultCvar) { entity me; me = spawnXonoticColorpickerString(); - me.configureXonoticColorpickerString(me, theCvar); + me.configureXonoticColorpickerString(me, theCvar, theDefaultCvar); return me; } -void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar) +void XonoticColorpickerString_configureXonoticColorpickerString(entity me, string theCvar, string theDefaultCvar) { me.cvarName = theCvar; me.configureImage(me, me.image); - me.prevcoords = '1 1 0'; + if(cvar_string(theCvar) != "") + me.prevcoords = color_hslimage(stov(cvar_string(theCvar)), me.imagemargin); + else // use default + me.prevcoords = color_hslimage(stov(cvar_string(theDefaultCvar)), me.imagemargin); } float XonoticColorpickerString_mousePress(entity me, vector coords) @@ -48,7 +51,6 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords) if(coords_x <= 1 - margin_x) if(coords_y <= 1 - margin_y) { - cvar_set(me.cvarName, sprintf("%v", hslimage_color(coords, margin))); me.prevcoords = coords; } @@ -74,10 +76,11 @@ void XonoticColorpickerString_draw(entity me) sz = draw_PictureSize(strcat(me.src, "_selected")); sz = globalToBoxSize(sz, draw_scale); - if(me.disabled) - me.prevcoords = '1 1 0'; - else + if(!me.disabled) + { + cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin))); draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1); + } draw_alpha = save; } #endif