;esempio funzioni grafiche con LISP...gra1.mar su marino14
;==============================================================
;(ask(front-window))
;attiva pagina grafica
;---------------------------------------------------------------
;(move-to colonna riga)....(move-to 30 50)
;sposta cursore da posizione corrente a colonna riga
;(move dc dr).......(move 10 20) (move -5 6) (move -5 -6)
;sposta cursore verso destra sinistra alto basso
;(line-to colonna riga)....(line-to 50 80)
;disegna linea da posizione corrente a colonna riga
;(line dc dr).......(line 30 40) (line -20 30)
;disegna segmento verso destra sinistra alto basso
;---------------------------------------------------------------
;(frame-rect c1 r1 c2 r2)...(frame-rect 10 10 100 100)
;disegna rettangolo con vertici opposti assegnati
;vertice alto sinistra,vertice basso destra
;(paint-rect c1 r1 c2 r2)
;disegna rettangolo pieno
;(erase-rect c1 r1 c2 r2)
;cancella rettangolo
;(invert-rect c1 r1 c2 r2)
;cancella rettangolo o disegna in campo inverso
;--------------------------------------------------------------
;(frame-round-rect a1 a2 c1 r1 c2 r2)..(10 10 50 50 200 200)
;disegna rettangolo con vertici smussati
;assegnando smussatura verticale orizzontale e vertici
;opposti alto sinistra basso destra
;(paint-round-rect a1 a2 c1 r1 c2 r2)..(10 10 50 50 200 200)
;disegna rettangolo smussato pieno
;(erase-round-rect a1 a2 c1 r1 c2 r2)..(10 10 50 50 200 200)
;cancella rettangolo smussato
;(invert-round-rect a1 a2 c1 r1 c2 r2)..(10 10 50 50 200 200)
;cancella o disegna in campo inverso
;--------------------------------------------------------------
;(frame-oval c1 r1 c2 r2)..(50 50 200 200)
;disegna ovale assegnando vertici opposti della cornice
;che lo contiene
;(paint-oval c1 r1 c2 r2)..(50 50 200 200)
;disegna ovale pieno
;(erase-oval c1 r1 c2 r2)..(50 50 200 200)
;cancella ovale
;(invert-oval c1 r1 c2 r2)..(50 50 200 200)
;cancella ovale o disegna in campo inverso
;---------------------------------------------------------------
;(frame-arc a1 a2 c1 r1 c2 r2) ...(0 180 10 10 100 100)
;disegna arco assegnando angolo iniziale e finale
;vertici opposti cornice che lo racchiude
;(paint-arc a1 a2 c1 r1 c2 r2) ...(0 180 10 10 100 100)
;disegna arco pieno
;(erase-arc a1 a2 c1 r1 c2 r2) ...(0 180 10 10 100 100)
;cancella arco
;(invert-arc a1 a2 c1 r1 c2 r2) ...(0 180 10 10 100 100)
;cancella arco o disegna in campo inverso
;---------------------------------------------------------------
;esempio funzioni grafiche LISP ...gra2.mar su marino14
=======================================================
;(clip-rect c1 r1 c2 r2).....(clip-rect 50 50 100 100)
;crea finestra ridotta entro finestra piu' grande
;assegnando vertici opposti
;risulta invisibile:possibile visualizzarla con frame-rect
;---------------------------------------------------------------
;(frame-rect 1 1 480 320)...FINESTRA GRAFICA MASSIMA
;===============================================================
;(pen-show)()......(pen-show)
;attiva penna per disegno
;(pen-hide)()......(pen-hide)
;disattiva penna perche' non disegni
;(pen-show-p)()....(pen-show-p)
;(pen-position)()..(pen-position)
;(print(pen-position)..
;(pen-size)()......(pen-size)
;(print(pen-size)......
;(pen-pattern)
;(print(pen-pattern)...
;(pen-mode)()......(pen-mode)
;(print(pen-mode)).....visualizza tipo modo penna corrente
;(pen-state)
;(print(pen-state))
;(pen-normal)
;-------------------------------------------------------------
;(set-pen-size)
;(set-pen-mode)
;(set-pen-pattern)
;(set-pen-state)
;--------------------------------------------------------------
;esempio funzioni grafiche a colori con LISP...gra3.mar su marino14
===================================================================
;necessari i file TRAPS..RECORDS..QUICKDRAW....COLORI.lisp
;------------------------------------------------------------------
;(setq cw3(oneof *color-window* ))
;(setq cw3(oneof *color-window* :window-title "titolo pagina"))
;una delle due forme attiva funzioni a colori da COLORI
;------------------------------------------------------------------
;(set-pen-rgb-pat(random 62000)(random 62000)(random 62000))
;assegna colore e tratteggio per disegnare
;(random numero tra 0 e 65535):attiva bianco nero o colore
;-----------------------------------------------------------------
;esempio attivazione funzioni per colore
;
;(prog1
(setq cw3(oneof *color-window*))
(ask(front-window)
(set-pen-rgb-pat(random numero)(random numero)(random numero))
(paint-rect c1 r1 c2 r2)
;altri comandi grafici
(set-pen-rgb-pat(random numero)(random numero)(random numero))
;altri comandi grafici
))
;-----------------------------------------------------------------
ritorna