Amateurs Corner - Gossip

Guiserver, GTK-server, OpenGL, PostScript,
HTML 5, MIDI, IDE
Locked
didi
Posts: 166
Joined: Fri May 04, 2007 8:24 pm
Location: Germany

Amateurs Corner - Gossip

Post by didi »

color-mixing ..
; rgb-tst.lsp 13jun2007 dmemos gui-server 0.4
( set 'cmax 1.0 )
( set 'cmin 0.0 )
( set 'cdelta ( div ( sub cmax cmin) 10 ))
( set 'drgb ( dup cdelta 3 ))

( set 'white ( dup cmax 3 ))
( set 'black ( dup cmin 3 ))
( set 'red ( list cmax cmin cmin ))
( set 'green ( list cmin cmax cmin ))
( set 'blue ( list cmin cmin cmax ))

( define ( limit rgbx)
( if ( <rgbx> rgbx cmax) cmax rgbx ))

( define ( rgb-add rgb1 rgb2 )
( map limit ( map add rgb1 rgb2)))

( define ( rgb-sub rgb1 rgb2 )
( map limit ( map sub rgb1 rgb2)))

( define ( rgb-complement rgb1 )
( rgb-sub white rgb1 ))

( set 'yellow ( rgb-add red green ))
( set 'cyan ( rgb-add green blue ))
( set 'magenta ( rgb-add red blue ))

( define ( rgb-lighter rgb1 i )
( if ( = nil i ) (set 'i 1 ))
( rgb-add rgb1 ( map mul drgb ( list i i i ))))

( define ( rgb-darker rgb1 i )
( if ( = nil i ) (set 'i 1 ))
( rgb-sub rgb1 ( map mul drgb ( list i i i ))))


( set 'darkgrey ( rgb-lighter black 3 ))
( set 'lightgrey ( rgb-darker white ))
That's it , my first code-snippet typed and tested complete in the gui-server-console 0.4 , and direct copied with ctrl-C / ctrl-V to this forum.

Remarks :
- great feeling :-)

- the bracket-help doesn't work correctly

- while working in the gui console , the newlisp-console shows a lot of messages "dispatch events" "process events" ending with "unknown source"

- on Windows2k the newlisp uses 1.5MB and Java 31MB - alot for java but no problem on my old machine ;-)

I've reached page 60 of Cormullions Introduction-to-newLISP so i don't know if the answer is there .
Question :
How the heck can i get rid of the brackets of a list ( 0.0 0.0 1.0 ), so that i can use my rgb-value in this way
( gs-set-background 'frame yellow ) ?

didi
Posts: 166
Joined: Fri May 04, 2007 8:24 pm
Location: Germany

Post by didi »

define ( limit rgbx)
( if ( <rgbx> rgbx cmax) cmax rgbx ))

hmm .. the limit function isn't copied correct .. obviously a problem of the forum

i typed
( if ( LESSSIGN rbgx cmin ) cmin ( GREATERSIGN rbgx cmax ) cmax rgbx ))

newdep
Posts: 2038
Joined: Mon Feb 23, 2004 7:40 pm
Location: Netherlands

Post by newdep »

you could pick then from the list like

(dolist (l '( 0.5 0.6 0.7) (print l))

or you could do a (gs:set-background 'W (list 0) (list 1) (list 2))


Btw.. your example is added to the WIKI ;-)

nice one ;-)
-- (define? (Cornflakes))

m i c h a e l
Posts: 394
Joined: Wed Apr 26, 2006 3:37 am
Location: Oregon, USA
Contact:

Post by m i c h a e l »

Hi didi!

Your code will be formatted correctly if you use the code tags around your code instead of the quote tags.

m i c h a e l

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Post by Lutz »

How the heck can i get rid of the brackets of a list ( 0.0 0.0 1.0 )
The next version of guiserver.lsp will allow a second syntax for gs:set-background and gs:set-color (the same)

Code: Select all

(set 'myBlue '(0 0 1))

(gs:set-background myBlue)

; or with transparency value

(gs:set-background myBlue 0.5)
Lutz

didi
Posts: 166
Joined: Fri May 04, 2007 8:24 pm
Location: Germany

Post by didi »

Thanks newdep and Michael , now i can see the "Code"-Button above here ;-)

Thankyou Lutz , i think the second syntax will give us a lispier way to set color.

With 'bracket-help doesn't work correct' i meant that while typing the paranthesis in the console , you get a hint to which other paranthesis it belongs - but that doesn't work correctly in the version 0.4 - the cursor jumps to short .

Locked