float XonoticColorpickerString_mouseDrag(entity me, vector coords) { if(me.disabled) return 0; vector margin; margin = me.imagemargin; if(coords_x >= margin_x) if(coords_y >= margin_y) 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; } return 1; }
float XonoticColorpicker_mouseDrag(entity me, vector coords) { float i; for(;;) { i = me.controlledTextbox.cursorPos; if(i >= 2) { if(substring(me.controlledTextbox.text, i-2, 1) == "^") if(strstrofs("0123456789", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0) { me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); continue; } } if(i >= 5) { if(substring(me.controlledTextbox.text, i-5, 2) == "^x") if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-3, 1), 0) >= 0) if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-2, 1), 0) >= 0) if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0) { me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); continue; } } break; } vector margin; margin = me.imagemargin; if(coords_x >= margin_x) if(coords_y >= margin_y) if(coords_x <= 1 - margin_x) if(coords_y <= 1 - margin_y) me.controlledTextbox.enterText(me.controlledTextbox, rgb_to_hexcolor(hslimage_color(coords, margin))); return 1; }
void NexuizColorpickerString_draw(entity me) { float save; save = draw_alpha; if(me.disabled) draw_alpha *= me.disabledAlpha; SUPER(NexuizColorpickerString).draw(me); vector sz; sz = draw_PictureSize(strcat(me.src, "_selected")); sz = globalToBoxSize(sz, draw_scale); 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; }