Annotation of 43BSD/contrib/X/CLUlib/sun/x_bitmap.clu, revision 1.1

1.1     ! root        1: % Copyright    Barbara Liskov    1985, 1986
        !             2: 
        !             3: x_bitmap = cluster is none, create, screate, destroy, c2b, get_id,
        !             4:                      equal, similar, copy
        !             5: 
        !             6: rep = int
        !             7: 
        !             8: none = proc () returns (cvt)
        !             9:     return(0)
        !            10:     end none
        !            11: 
        !            12: create = proc (width, height: int, bits: _wordvec) returns (cvt)
        !            13:           signals (error(string))
        !            14:     x_buf$setup(x_storebitmap, 0, 0, 0)
        !            15:     x_buf$set_s01(height, width)
        !            16:     x_buf$send_data(w2b(bits), 1, ((width + 15) / 16) * height * 2)
        !            17:     x_buf$receive()
        !            18:        resignal error
        !            19:     return(x_buf$get_lp0())
        !            20:     end create
        !            21: 
        !            22: screate = proc (width, height: int, bits: string) returns (x_bitmap)
        !            23:            signals (error(string))
        !            24:     bts: _bytevec := _bytevec$create(string$size(bits))
        !            25:     for i: int in int$from_to_by(1, string$size(bits), 2) do
        !            26:        bts[i] := bits[i + 1]
        !            27:        bts[i + 1] := bits[i]
        !            28:        end
        !            29:     return(create(width, height, b2w(bts)))
        !            30:        resignal error
        !            31:     end screate
        !            32: 
        !            33: destroy = proc (bit: cvt)
        !            34:     x_buf$setup(x_freebitmap, 0, 0, 0)
        !            35:     x_buf$set_l0(bit)
        !            36:     end destroy
        !            37: 
        !            38: c2b = proc (font: x_font, c: char) returns (cvt) signals (error(string))
        !            39:     x_buf$setup(x_charbitmap, 0, 0, 0)
        !            40:     x_buf$set_l0s23(f2i(font), char$c2i(c), 0)
        !            41:     x_buf$receive()
        !            42:        resignal error
        !            43:     return(x_buf$get_lp0())
        !            44:     end c2b
        !            45: 
        !            46: get_id = proc (bit: cvt) returns (int)
        !            47:     return(bit)
        !            48:     end get_id
        !            49: 
        !            50: equal = proc (bit1, bit2: cvt) returns (bool)
        !            51:     return(bit1 = bit2)
        !            52:     end equal
        !            53: 
        !            54: similar = proc (bit1, bit2: cvt) returns (bool)
        !            55:     return(bit1 = bit2)
        !            56:     end similar
        !            57: 
        !            58: copy = proc (bit: cvt) returns (cvt)
        !            59:     return(bit)
        !            60:     end copy
        !            61: 
        !            62: end x_bitmap

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.