]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Colorpickers now load and remember (when they get re-enabled) the color position
authorterencehill <piuntn@gmail.com>
Mon, 8 Nov 2010 00:12:07 +0000 (01:12 +0100)
committerterencehill <piuntn@gmail.com>
Mon, 8 Nov 2010 13:52:06 +0000 (14:52 +0100)
qcsrc/menu/xonotic/colorpicker.c
qcsrc/menu/xonotic/colorpicker_string.c

index b888358c3748fe6919a39da1a3f038f90702bc84..66f292a0369588ae675b237fc0580d1d8cf34a04 100644 (file)
@@ -51,6 +51,25 @@ vector hslimage_color(vector v, vector margin)
         return hsl_to_rgb(v_x * 6 * eX + eY + v_y / 0.875 * eZ);
 }
 
+vector color_hslimage(vector v, vector margin)
+{
+       vector pos;
+       v = rgb_to_hsl(v);
+       if (v_y)
+       {
+               pos_x = v_x / 6;
+               pos_y = v_z * 0.875;
+       }
+       else // grey scale
+       {
+               pos_x = v_z;
+               pos_y = 0.875 + 0.07;
+       }
+       pos_x = margin_x + pos_x * (1 - 2 * margin_x);
+       pos_y = margin_y + pos_y * (1 - 2 * margin_y);
+       return pos;
+}
+
 float XonoticColorpicker_mouseDrag(entity me, vector coords)
 {
        float i;
index 3633553044c314c4fbc7c846ad6ea7e0e53079ec..fd411d54572a896d385cf27eb3cb348626b9e709 100644 (file)
@@ -28,7 +28,7 @@ void XonoticColorpickerString_configureXonoticColorpickerString(entity me, strin
 {
        me.cvarName = theCvar;
        me.configureImage(me, me.image);
-       me.prevcoords = '1 1 0';
+       me.prevcoords = color_hslimage(stov(cvar_string(theCvar)), me.imagemargin);
 }
 
 float XonoticColorpickerString_mousePress(entity me, vector coords)
@@ -74,9 +74,7 @@ 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)
                draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1);
        draw_alpha = save;
 }