mac6

gestione grafica :solo listati programmi


 /* grafo1 */
esegue:-
install_menu(scelta,[rettangolo,ovale,fine]),
grafix,gmode(' Graphic Window').
scelta(rettangolo):-disegnarettangolo.
scelta(ovale):-disegnaovale.
scelta(fine):-uscita.
uscita:-
message('fine prova:premi Enter').
disegnarettangolo:-
add_pic(fillpattern(hash,fillbox(120,40,100,100))).
disegnaovale:-
add_pic(fillpattern(diamonds,filloval(200,50,50,100))).

 /* grafo2 */
esegue:-
install_menu(scelta,[linea,rettangolo,smussato,ovale,
cerchio,arco,poligono,vettore,fine]),grafix.
scelta(linea):-dlinea.
scelta(rettangolo):-drettangolo.
scelta(smussato):-dsmussato.
scelta(ovale):-dovale.
scelta(cerchio):-dcerchio.
scelta(arco):-darco.
scelta(poligono):-dpoligono.
scelta(vettore):-dvettore.
scelta(fine):-uscita.
dlinea:-
add_pic(lines([(50,50),(50,150),(150,200)])).
drettangolo:-
add_pic(box(60,60,120,200)).
dsmussato:-
add_pic(box(80,80,120,200,30,30)).
dovale:-
add_pic(oval(100,100,50,100)),
add_pic(oval(100,150,100,60)).
dcerchio:-
add_pic(circle(160,160,70)).
darco:-
add_pic(arc(120,120,100,100,0,180)).
dpoligono:-
add_pic(poly([(60,60),(60,150),(150,150),(60,60)])).
dvettore:-
add_pic(pointer((50,50),(200,150),both)).
uscita:-
message('premi enter per finire'),wfront(grafo2).


 /* grafo4 */
/* figure con disegno tratteggiato */
esegue:-
install_menu(scelta,[rettangolo,smussato,ovale,
cerchio,arco,poligono,fine]),grafix.
scelta(rettangolo):-drettangolo.
scelta(smussato):-dsmussato.
scelta(ovale):-dovale.
scelta(cerchio):-dcerchio.
scelta(arco):-darco.
scelta(poligono):-dpoligono.
scelta(vettore):-dvettore.
scelta(fine):-uscita.
cancella:-
add_pic(fillmode(erase,fillpattern(solid,fillbg(white,fillbox(-10,1,300,400))))).
drettangolo:-
cancella,
add_pic(fillbox(60,60,120,200)).
dsmussato:-
cancella,
add_pic(fillbox(80,80,120,200,30,30)).
dovale:-
cancella,
add_pic(filloval(100,100,50,100)),
add_pic(filloval(100,150,100,60)).
dcerchio:-
cancella,
add_pic(fillcircle(160,160,70)).
darco:-
cancella,
add_pic(wedge(120,120,100,100,0,180)).
dpoligono:-
cancella,
add_pic(fillpoly([(60,60),(60,150),(150,150),(60,60)])).
uscita:-
message('premi enter per finire'),wfront(grafo2).

/* grafo6 */
/* figure con disegno tratteggiato con fillpattern vario  */
/* e penpattern e pensize vario */
esegue:-
install_menu(scelta,[rettangolo,smussato,ovale,
cerchio,arco,poligono,fine]),grafix.
scelta(rettangolo):-drettangolo.
scelta(smussato):-dsmussato.
scelta(ovale):-dovale.
scelta(cerchio):-dcerchio.
scelta(arco):-darco.
scelta(poligono):-dpoligono.
scelta(vettore):-dvettore.
scelta(fine):-uscita.
cancella:-
add_pic(fillmode(erase,fillpattern(solid,fillbg(white,fillbox(-10,1,300,400))))).
drettangolo:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(diamonds,fillbox(60,60,120,200))))).
dsmussato:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(boxes,fillbox(80,80,120,200,30,30))))).
dovale:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(diag,filloval(100,100,50,100))))).
dcerchio:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(crosses,fillcircle(160,160,70))))).
darco:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(hash,wedge(120,120,100,100,0,180))))).
dpoligono:-
cancella,
add_pic(penpattern(horiz,pensize(10,10,
fillpattern(rdiag,fillpoly([(60,60),(60,150),(150,150),(60,60)]))))).
uscita:-
message('premi enter per finire'),wfront(grafo2).


 /* grafo8 */
/* figure con disegno tratteggiato con fillpattern vario  */
/* e penpattern e pensize vario */
/* colore contorno penfg  penbg */
/* colore disegno fillfg fillbg   */
esegue:-
install_menu(scelta,[rettangolo,smussato,ovale,
cerchio,arco,poligono,fine]),grafix.
scelta(rettangolo):-drettangolo.
scelta(smussato):-dsmussato.
scelta(ovale):-dovale.
scelta(cerchio):-dcerchio.
scelta(arco):-darco.
scelta(poligono):-dpoligono.
scelta(vettore):-dvettore.
scelta(fine):-uscita.
cancella:-
add_pic(fillmode(erase,fillpattern(solid,fillbg(white,fillbox(-10,1,300,400))))).
drettangolo:-
cancella,
add_pic(penpattern(horiz,pensize(20,20,penfg(red,penbg(green,
fillbg(yellow,fillfg(blue,
fillpattern(diamonds,fillbox(60,60,120,200))))))))).
dsmussato:-
cancella,
add_pic(penpattern(horiz,pensize(20,20,penfg(blue,penbg(red,
fillbg(yellow,fillfg(blue,
fillpattern(boxes,fillbox(80,80,120,200,30,30))))))))).
dovale:-
cancella,
add_pic(penpattern(horiz,pensize(20,20,penfg(red,penbg(yellow,
fillbg(yellow,fillfg(blue,
fillpattern(diag,filloval(100,100,50,100))))))))).
dcerchio:-
cancella,
add_pic(penpattern(horiz,pensize(10,20,penfg(red,penbg(cyan,
fillbg(yellow,fillfg(blue,
fillpattern(crosses,fillcircle(160,160,70))))))))).
darco:-
cancella,
add_pic(penpattern(horiz,pensize(20,10,penfg(red,penbg(green,
fillbg(yellow,fillfg(blue,
fillpattern(rdiag,wedge(120,120,100,100,0,270))))))))).
dpoligono:-
cancella,
add_pic(penpattern(horiz,pensize(30,30,penfg(magenta,penbg(green,
fillbg(yellow,fillfg(blue,
fillpattern(rdiag,fillpoly([(60,60),(60,150),(150,150),(60,60)]))))))))).
uscita:-
message('premi enter per finire'),wfront(grafo2).


/* grafo10 */
/* attivazione di textline textbox face size font */
esegue:-
install_menu(scelta,[textline1,textbox1,font1,face1,size1,fine]),grafix.
scelta(textline1):-dtextline.
scelta(textbox1):-dtextbox.
scelta(font1):-dfont.
scelta(face1):-dface.
scelta(size1):-dsize.
scelta(fine):-uscita.
cancella:-
add_pic(fillmode(erase,fillpattern(solid,fillbg(white,fillbox(-10,1,300,400))))).
dtextline:-
cancella,
add_pic(textline('Geneva',12,1,50,50,'testo bold')),
add_pic(textline('Courier',14,2,150,50,'testo italic')),
add_pic(textline('Helvetica',14,2,100,150,'testo italic',on)).
dtextbox:-
cancella,
add_pic(textbox('Geneva',12,2,50,50,80,200,1,'testo',on)),
add_pic(textbox('Courier',12,2,100,50,120,100,1,'testo',on)),
add_pic(textbox('Helvetica',12,2,120,50,140,200,1,'testo',on)).
dfont:-
cancella,
add_pic(textline('Geneva',12,1,50,50,'testo geneva')).
dface:-
cancella,
add_pic(textline('Geneva',12,1,100,50,'testo bold ')).
dsize:-
cancella,
add_pic(textline('Geneva',12,2,50,50,'testo 12')),
add_pic(textline('Geneva',16,2,100,100,'testo 16')).

uscita:-
message('premi enter per finire'),wfront(grafo2).

/* grafo11 */
/* attivazione di fillmode */
esegue:-
install_menu(scelta,[paint1,npaint1,erase1,nerase1,or1,xor1,nor1,nxor1,fine]),grafix.
scelta(paint1):-dpaint.
scelta(npaint1):-dnpaint.
scelta(erase1):-derase.
scelta(nerase1):-dnerase.
scelta(or1):-dor.
scelta(xor1):-dxor.
scelta(nor1):-dnor.
scelta(nxor1):-dnxor.
scelta(or1):-dsize.
scelta(fine):-uscita.
cancella:-
add_pic(fillmode(erase,fillpattern(solid,fillbg(white,fillbox(-10,1,300,400))))).
dpaint:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(paint,fillbox(50,150,150,200)))).
dnpaint:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(npaint,fillbox(50,150,150,200)))).
derase:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(erase,fillbox(50,150,150,200)))).
dnerase:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(nerase,fillbox(50,150,150,200)))).
dor:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(or,fillbox(50,150,150,200)))).
dxor:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(xor,fillbox(50,150,150,200)))).
dnor:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(nor,fillbox(50,150,150,200)))).
dnxor:-
cancella,
add_pic(pencol(red,fillmode(paint,fillbox(30,120,130,150)))),
add_pic(pencol(blue,fillmode(nxor,fillbox(50,150,150,200)))).
uscita:-
message('premi enter per finire'),wfront(grafo2).