“Definition and use of higher-level graphics input tools” by Van den Bos

  • ©Jan Van den Bos




    Definition and use of higher-level graphics input tools



    A proposal is made for the definition of ‘tools’, high-level graphics input functions based on the six primitive input classes Clock, Pick, Button, Key, Valuator and Locator. Tools are defined in terms of input expressions, the operands of which are themselves tools, the definition of which may be nested inside this tool. Input expressions are written much like production rules in phrase structure grammars. Determining whether a tool is ‘satisfied’ can therefore be done most advantageously by an input expression parser. Tool definitions may occur in-line or stored in a library. They are activated by a ‘create’ primitive, which creates an instance of the tool and causes the input expression to be made active. The parser then determines whether a tool is actually used. Following a ‘read’ issued to the tool, the tool body generates the returned information as specified by the tool definition. Tools may be explicitly freed by a ‘free’ primitive; in the case of nesting, tools are freed implicitly when the surrounding tool is freed. Using this approach to higher-level input primitives, a programmer does not have to think about graphics input in terms of awaiting events, interrupts and the like. The creation of a defined tool implies a function awaiting action from the tool.


    1. Newman, W.M., A system for interactive graphical programming, Proc. AFIPS SJCC, Vol. 32, 1968, pp. 47-54
    2. Cotton, I.W., Network Graphic attention handling, Proc. ONLINE 72, 1972, pp. 465-490
    3. Foley, J.D., and Wallace, V.L., The art of natural man-machine communications, Proc. IEEE, Vol. 62,4, 1974, pp. 462-471
    4. Deecker, G.F.P., and Penny, J.P., Standard input forms for interactive computer graphics, ACM-Siggraph Computer Graphics, Vol. 11,1, 1977, pp. 32-40
    5. Trambacz, U., Towards device-independent graphics systems, ACM-Siggraph Computer Graphics, Vol. 9, 1975, pp. 49-52
    6. Wallace, V.L., The semantics of graphic input devices, Proc. ACM-Siggraph, 1976, Miami, Fla, USA, pp. 61-63
    7. ACM-Siggraph GSPC, First report on graphics standards, Proc. ACM-Siggraph, 1977, San Jose, Cal., USA
    8. Caruthers, L.C., Groot, D., Hermans, E., Van Dam, A., and Van den Bos, J., GPGS – General purpose graphic system, Proc. ACM – International computing symposium, 1977, Liege, Belgium, pp. 411-416
    9. Caruthers, L.C., Van Dam, A., Van den Bos, J., GPGS- A device-independent general purpose system for stand-alone and satellite graphics, Proc. ACM-Siggraph, 1977, San Jose, Cal., USA, pp. 112-119
    10. Habermann, A.N., Path expressions, Computer Science Report, June 1975, Carnegie-Mellon University, Pittsburgh, Pa., USA
    11. Dahl, O.-J., and Hoare, C.A.R., In Structured Programming, Academic Press, New York 1972, pp. 175-220
    12. Anson, E.K., GPGS-370 Tektronix driver installation, July 1976. Informatica/Comp. Graphics group Internal report.

ACM Digital Library Publication: