#!/usr/bin/newlisp (load (append (env "NEWLISPDIR") "/guiserver.lsp")) (gs:init) (gs:frame 'Mixer 200 200 400 300 "Mixer colori") (gs:set-resizable 'Mixer nil) (gs:set-border-layout 'Mixer) (gs:panel 'PannelloSlider) (gs:set-grid-layout 'PannelloSlider 3 1) (gs:panel 'PannelloRosso) (gs:panel 'PannelloVerde) (gs:panel 'PannelloBlu) (gs:label 'Rosso "Rosso" "left" 50 10) (gs:label 'Verde "Verde" "left" 50 10 ) (gs:label 'Blu "Blu" "left" 50 10 ) (gs:slider 'SliderRosso 'slider-handler "horizontal" 0 100 0) (gs:slider 'SliderVerde 'slider-handler "horizontal" 0 100 0) (gs:slider 'SliderBlu 'slider-handler "horizontal" 0 100 0) (gs:label 'StatoSliderRosso "0" "right" 50 10) (gs:label 'StatoSliderVerde "0" "right" 50 10) (gs:label 'StatoSliderBlu "0" "right" 50 10) (gs:add-to 'PannelloRosso 'Rosso 'SliderRosso 'StatoSliderRosso) (gs:add-to 'PannelloVerde 'Verde 'SliderVerde 'StatoSliderVerde) (gs:add-to 'PannelloBlu 'Blu 'SliderBlu 'StatoSliderBlu) (gs:add-to 'PannelloSlider 'PannelloRosso 'PannelloVerde 'PannelloBlu) (gs:canvas 'Swatch) (gs:label 'Value "") (gs:set-font 'Value "Sans Serif" 16) (gs:add-to 'Mixer 'PannelloSlider "north" 'Swatch "center" 'Value "south") (gs:set-visible 'Mixer true) (set 'Rosso 0 'Verde 0 'Blu 0) (gs:set-color 'Swatch (list Rosso Verde Blu)) (gs:set-text 'Value (string (list Rosso Verde Blu))) (define (slider-handler id value) (cond ((= id "MAIN:SliderRosso") (set 'Rosso (div value 100)) (gs:set-text 'StatoSliderRosso (string Rosso))) ((= id "MAIN:SliderVerde") (set 'Verde (div value 100)) (gs:set-text 'StatoSliderVerde (string Verde))) ((= id "MAIN:SliderBlu") (set 'Blu (div value 100)) (gs:set-text 'StatoSliderBlu (string Blu))) ) (gs:set-color 'Swatch (list Rosso Verde Blu)) (gs:set-text 'Value (string (list Rosso Verde Blu)))) (gs:listen)