// title: Color Picker // author: codepool // description: // Migration from the old SourceForge wiki. // code: // Color Picker GUIs ( // OSX Only var res = 20, scrsize = 200, val, set, win, scr; win = Window.new("SCColorChooser",Rect(400, 400, 2*scrsize+20, scrsize),false).front; win.view.background_(Color.white); scr = CompositeView.new(win,Rect(scrsize+20, 0, scrsize, scrsize)); scr.background_(Color.white); val = Slider(win, Rect(scrsize, 0, 20, scrsize)).value_(1).action_({win.refresh}); m = TabletSlider2D(win, Rect(0, 0, scrsize, scrsize)) .mouseDownAction_({arg view, x, y; ("Color.hsv("++(x)++", "++(1-y)++", "++val.value++", 1)").postln; Color.hsv(min(0.999, x), min(0.999, 1-y), val.value, 1).postln; scr.background_(Color.hsv(min(0.999, x), min(0.999, 1-y), val.value, 1)); }); win.drawHook = { res.do({ arg i; res.do({ arg j; Color.hsv(1/res*i,1/res*j, val.value, 1).set; Pen.fillRect(Rect((scrsize/res)*i, (scrsize/res)*j, (scrsize/res), (scrsize/res))); }) }) }; win.front; ) // SCColorChooser by scsolar 10.2007 ColorPicker { // Class by Miguel Negrão *new { var w,r,g,b,update,color; w = Window.new("Color Picker",Rect(100,100,230,68),false); r = EZSlider(w, Rect(2,0,150,20),"R",labelWidth:20) .action_({ |v| update.(); }); g = EZSlider(w, Rect(2,22,150,20),"G",labelWidth:20) .action_({ |v| update.(); }); b = EZSlider(w, Rect(2,44,150,20),"B",labelWidth:20) .action_({ |v| update.(); }); [r,g,b].do({|item| item.sliderView.canFocus_(false) }); color = UserView(w,Rect(160,0,64,64)) .background_(Color.black) .enabled_(true) .mouseDownAction_({ color.background.postln;}) .beginDragAction_({color.background}) .canFocus_(false); update = { color.background_(Color(r.value,g.value,b.value)) }; w.front; } }