14 {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x07,
15 0xE0, 0x07, 0xE0, 0x07, 0xE3, 0xF7, 0xE3, 0xF7,
16 0xE3, 0xE7, 0xE3, 0xF7, 0xE3, 0xFF, 0xE3, 0x7F,
17 0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,},
18 {0x00, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x40, 0x02,
19 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x41, 0xE2,
20 0x41, 0xC2, 0x41, 0xE2, 0x41, 0x72, 0x40, 0x38,
21 0x40, 0x1C, 0x40, 0x0E, 0x7F, 0xE6, 0x00, 0x00,}
26 brects(Rectangle r, Rectangle rp[4])
29 r.max.x = r.min.x+2*W;
31 r.max.y = r.min.y+2*W;
32 rp[0] = Rect(r.min.x, r.min.y, r.max.x, r.min.y+W);
33 rp[1] = Rect(r.min.x, r.max.y-W, r.max.x, r.max.y);
34 rp[2] = Rect(r.min.x, r.min.y+W, r.min.x+W, r.max.y-W);
35 rp[3] = Rect(r.max.x-W, r.min.y+W, r.max.x, r.max.y-W);
39 egetrect(int but, Mouse *m)
47 while(!(m->buttons & but)){
49 if(m->buttons & (7^but))
60 }while(m->buttons == but);
64 if(m->buttons & (7^but)){
65 rc.min.x = rc.max.x = 0;
66 rc.min.y = rc.max.y = 0;
82 tmp[0] = tmp[1] = tmp[2] = tmp[3] = red = nil;
86 edrawgetrect(Rectangle rc, int up)
89 Rectangle r, rects[4];
92 if(Dx(tmp[0]->r)<Dx(rc) || Dy(tmp[2]->r)<Dy(rc))
96 r = Rect(0, 0, Dx(screen->r), W);
97 tmp[0] = allocimage(display, r, screen->chan, 0, -1);
98 tmp[1] = allocimage(display, r, screen->chan, 0, -1);
99 r = Rect(0, 0, W, Dy(screen->r));
100 tmp[2] = allocimage(display, r, screen->chan, 0, -1);
101 tmp[3] = allocimage(display, r, screen->chan, 0, -1);
102 red = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DRed);
103 if(tmp[0]==0 || tmp[1]==0 || tmp[2]==0 || tmp[3]==0 || red==0)
104 drawerror(display, "getrect: allocimage failed");
109 draw(screen, rects[i], tmp[i], nil, ZP);
113 draw(tmp[i], Rect(0, 0, Dx(rects[i]), Dy(rects[i])), screen, nil, rects[i].min);
114 draw(screen, rects[i], red, nil, ZP);