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).