#ifndef lint static char sccsid[] = "@(#)overlay.c 9.2 88/01/19 Copyright 1987 Sun Micro"; #endif /* * Copyright (c) 1987 by Sun Microsystems, Inc. */ /*- Routines having to do with canvas overlays overlay.c, Wed Jul 23 14:58:52 1986 James Gosling, Sun Microsystems */ #ifdef REF #include #include #endif #include "PostScript.h" #include "cursor.h" static createoverlay(ee) register struct execution_environment *ee; { register struct object *optop = ee->optop; register struct canvas *cv; register struct body *b; register struct canvas *parent; if (optop[-1].type != canvas_type) { ee->error_code = typecheck_error_code; return; } parent = (struct canvas *) optop[-1].value.canvas; if ((cv = ovl_create(parent)) == 0 || (b = new_body(canvas)) == 0) { ee->error_code = invalidaccess_error_code; return; } b->type = canvas_type; b->body.canvas.canvas = (struct pixrect *) cv; b->body.canvas.interest = 0; cs_setcanvasspare(cv, b); b->body.canvas.interest = 0; object_decref(optop - 1); set_typed_bodied_object(optop - 1, canvas_type, b); optop[-1].value.canvas = b->body.canvas.canvas; } static showoverlay(ee) struct execution_environment *ee; { cs_cursorup(); } initialize_overlay() { define_operator("createoverlay", createoverlay, 0, 1, 1); define_operator("showoverlay", showoverlay, 0, 0, 0); }