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