;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