/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ #ident "@(#)open.c 1.5 92/07/14 SMI" /* SVr4.0 1.3 */ #include #include /* gsi plotting output routines */ # define DOWN 012 # define UP 013 # define LEFT 010 # define RIGHT 040 # define BEL 007 # define ACK 006 # define CR 015 # define FF 014 # define VERTRESP 48 # define HORZRESP 60. # define HORZRES 6. # define VERTRES 8. /* down is line feed, up is reverse line feed, left is backspace, right is space. 48 points per inch vertically, 60 horizontally */ int xnow, ynow; struct termio ITTY, PTTY; int OUTF; float HEIGHT = 6.0, WIDTH = 6.0, OFFSET = 0.0; int xscale, xoffset, yscale; float botx = 0., boty = 0., obotx = 0., oboty = 0.; float scalex = 1., scaley = 1.; openpl () { void reset(); xnow = ynow = 0; OUTF = 1; printf("\r"); ioctl(OUTF, TCGETA, &ITTY); signal (SIGINT, reset); PTTY = ITTY; PTTY.c_oflag &= ~(ONLCR|OCRNL|ONOCR|ONLRET); PTTY.c_cflag |= CSTOPB; ioctl(OUTF, TCSETAW, &PTTY); /* initialize constants */ xscale = 4096./(HORZRESP * WIDTH); yscale = 4096 /(VERTRESP * HEIGHT); xoffset = OFFSET * HORZRESP; return; } openvt(){ openpl(); }