“Graphics in overlapping bitmap layers” by Pike

  • ©Robert Pike




    Graphics in overlapping bitmap layers



    One of the common uses of bitmap terminals is storing multiple programming contexts in multiple, possibly overlapping, areas of the screen called windows. Windows traditionally store the visible state of a programming environment, such as an editor or debugger, while the user works with some other program. This model of interaction is attractive for one-process systems, but to make full use of a multiprogramming environment, windows must be asynchronously updated, even when partially or wholly obscured by other windows. For example, a long compilation may run in one window, displaying messages as appropriate, while the user edits a file in another window. This paper describes a set of low-level graphics primitives to manipulate overlapping asynchronous windows, called layers, on a bitmap display terminal. Unlike previous window software, these primitives extend the domain of the general bitmap operator bitblt to include bitmaps that are partially or wholly obscured.


    1. BRESENHAM, J. E. Algorithm for computer control of a digital plotter. IBM Syst. J. 4, 1 (1965), 25-30.
    2. 2. GUIBAS, L. J., AND STOLFI, J. A language for bitmap manipulation. ACM Trans. Gr. 1, 3 (July 1982), 191-214.
    3. INGALLS, D. H. H. The Smalltalk graphics kernel. Byte 6, 8 (Aug. 1981), 168-194.
    4. LANTZ, K. A. AND RASHID, R. F. Virtual terminal management in a multiple process environment. In Proc. 7th Syrup. Operating Systems Principles (Pacific Grove, Calif., Dec. 10-12), ACM, New York, 1979, pp. 86-97.
    5. MEYROWITZ, N., AND MOSER, M. BRUWIN: An adaptable design strategy for window manager/ virtual terminal systems. In Proc. 8th Syrup. Operating Systems Principles 15, 5 (Pacific Grove, Calif., Dec. 14-16), ACM, New York, 1981, pp. 180-189.
    6. NEWMAN, W. M., AND SPROULL, R. F. Principles of Interactive Computer Graphics, 2nd ed. McGraw-Hill, New York, 1979
    7. TESLER, L. The Smalltalk environment. Byte 6, 8 (Aug. 1981), 90-147.
    8. WEINREB, D., AND MOON, D. Introduction to using the window system. Symbolics, Inc., 1981.

ACM Digital Library Publication: