|
|
1.1 root 1: % Copyright Barbara Liskov 1985
2:
3: x_bitmap = cluster is none, create, destroy, c2b, get_id, equal, similar, copy
4:
5: rep = int
6:
7: none = proc () returns (cvt)
8: return(0)
9: end none
10:
11: create = proc (width, height: int, bits: _wordvec) returns (cvt)
12: signals (error(string))
13: or: oreq, er: ereq := x_buf$get()
14: er.code := x_storebitmap
15: er.s0 := height
16: or.s1 := width
17: x_buf$send_data(w2b(bits), 1, ((width + 15) / 16) * height * 2)
18: x_buf$receive()
19: resignal error
20: return(x_buf$get_lp0())
21: end create
22:
23: destroy = proc (bit: cvt)
24: or: oreq, er: ereq := x_buf$get()
25: er.code := x_freebitmap
26: lr(er).l0 := bit
27: end destroy
28:
29: c2b = proc (font: x_font, c: char) returns (cvt) signals (error(string))
30: or: oreq, er: ereq := x_buf$get()
31: er.code := x_charbitmap
32: lr(er).l0 := f2i(font)
33: er.s2 := char$c2i(c)
34: x_buf$receive()
35: resignal error
36: return(x_buf$get_lp0())
37: end c2b
38:
39: get_id = proc (bit: cvt) returns (int)
40: return(bit)
41: end get_id
42:
43: equal = proc (bit1, bit2: cvt) returns (bool)
44: return(bit1 = bit2)
45: end equal
46:
47: similar = proc (bit1, bit2: cvt) returns (bool)
48: return(bit1 = bit2)
49: end similar
50:
51: copy = proc (bit: cvt) returns (cvt)
52: return(bit)
53: end copy
54:
55: end x_bitmap
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.