RGB, although it needs a color converter for HSV, can be stored in a single 32-bit integer. I feel like it would be much simpler to have just one extra integer than having 3 floats. A slider going from 0 to 255 for each color (red, green, and blue) would suffice, and the integer in question would be equal to (((red*256)+green)*256)+blue. Extracting the values for display purposes is easy, too: blue=color%256, green=((color-blue)/256)%256 and red=((((color-blue)/256)-green)/256).