aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/greact.x
blob: e201d543d4163d8ca9a997b61aa62b8ab85099ad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<gset.h>
include	<gio.h>

# GREACTIVATE -- Reactivate the workstation, i.e., for an interactive device
# (graphics terminal) restore the terminal to graphics mode, following a call
# to gdeactivate to do some normal terminal mode text i/o.

procedure greactivate (gp, flags)

pointer	gp			# graphics descriptor
int	flags			# action flags

int	and()
errchk	gki_reactivatews, gactivate

begin
	call flush (STDOUT)
	if (and (GP_GFLAGS(gp), GF_WSOPEN) != 0) {
	    # The workstation is already open - just reactivate it.
	    call gki_reactivatews (GP_FD(gp), flags)
	    if (and (GP_GFLAGS(gp), GF_WSACTIVE) == 0)
		GP_GFLAGS(gp) = GP_GFLAGS(gp) + GF_WSACTIVE
	} else {
	    # Open the workstation (implies an automatic reactivatews).
	    call gactivate (gp, flags)
	}

	if (and (flags, AW_CLEAR) != 0)
	    call gfrinit (gp)
end