|
|
1.1 root 1: /*
2: test circle graphics routines: circle ellipse, arc, elarc, disc,
3: eldisc, and also string, segment, and cursswitch
4: */
5: #include "jerq.h"
6: short coffeecup_bits[]={
7: 0x0100, 0x00E0, 0x0010, 0x03E0, 0x0400, 0x0FE0, 0x123C, 0x1FE2,
8: 0x101A, 0x101A, 0x1002, 0x103C, 0x1810, 0x6FEC, 0x4004, 0x3FF8,
9: };
10:
11: main(argc, argv)
12: char *argv[];
13: {
14: int x,y;
15: Point p;
16: Cursor *prev;
17: Cursor cup;
18:
19: request(MOUSE);
20: initdisplay(argc, argv);
21: cup = ToCursor(coffeecup_bits, coffeecup_bits, 7, 7);
22: x = Drect.origin.x + Drect.corner.x / 2;
23: y = Drect.origin.y + Drect.corner.y / 2;
24: eldisc(&display, Pt(170,170), 50, 25, F_XOR);
25: disc(&display, Pt(60,170), 50, F_XOR);
26: circle(&display, Pt(60,60), 50, F_XOR);
27: ellipse(&display, Pt(170,60), 50, 25, F_XOR);
28: eldisc(&display, Pt(170,170), 50, 25, F_XOR);
29: disc(&display, Pt(60,170), 50, F_XOR);
30: disc(&display, Pt(60,60), 50, F_XOR);
31: eldisc(&display, Pt(170,60), 50, 25, F_XOR);
32: circle(&display, Pt(x,y), 10, F_XOR);
33: circle(&display, Pt(x,y), 20, F_STORE);
34: circle(&display, Pt(x,y), 30, F_XOR);
35: circle(&display, Pt(x,y), 40, F_OR);
36: circle(&display, Pt(x,y), 50, F_XOR);
37: ellipse(&display, Pt(x,y), 300, 100, F_STORE);
38: ellipse(&display, Pt(x,y), 100, 300, F_XOR);
39: elarc(&display, Pt(x,y), 200, 100,Pt(x+200,y), Pt(x,y+200), F_STORE);
40: elarc(&display, Pt(x,y), 100,200, Pt(x-250,y), Pt(x,y-250), F_XOR);
41: arc(&display, Pt(x,y), Pt(x+200,y), Pt(x,y+200),F_XOR);
42: arc(&display, Pt(x,y), Pt(x-250,y), Pt(x,y-250),F_XOR);
43: disc(&display, Pt(x,y), 100, F_XOR);
44: disc(&display, Pt(x,y), 200, F_XOR);
45: disc(&display, Pt(x,y), 300, F_XOR);
46: disc(&display, Pt(x,y), 400, F_XOR);
47: eldisc(&display, Pt(x,y), 300, 100, F_XOR);
48: eldisc(&display, Pt(x,y), 100, 300, F_XOR);
49: segment(&display, Pt(x-100,y-100),Pt(x+200,y+200), F_XOR);
50: p = string(&defont, "hello world", &display, Pt(x,y), F_XOR);
51: p = string(&defont, "Goodbye world", &display, p, F_XOR);
52: for(;;jnap(1)){
53: if(button1())
54: prev = cursswitch(&cup);
55: if(button2())
56: prev = cursswitch(prev);
57: if(button3())
58: break;
59: }
60: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.