From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- sys/psio/psio.h | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 sys/psio/psio.h (limited to 'sys/psio/psio.h') diff --git a/sys/psio/psio.h b/sys/psio/psio.h new file mode 100644 index 00000000..418b05bc --- /dev/null +++ b/sys/psio/psio.h @@ -0,0 +1,90 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# PSIO.H -- Private definitions for the PSIO interface. + +# Page size definitions. +define LETTER_WIDTH 612 # resolutions at 72 points (300 dpi) +define LETTER_HEIGHT 792 +define LEGAL_WIDTH 612 +define LEGAL_HEIGHT 1008 +define A4_WIDTH 595 +define A4_HEIGHT 850 +define B5_WIDTH 524 +define B5_HEIGHT 765 + +# Font definitions. +define FIXED_WIDTH 54 # width of a courier 9-pt font +define SPACE_WIDTH 30 # width of a 10-point space character +define FONT_SIZE 10 # default font size (points) +define START_CH 32 # width table start character +define END_CH 128 # width table end character +define LINE_HEIGHT 12 # height of a line (points) + +define RESOLUTION 10 # pixel resolution scale factor +define PPI 72 # points-per-inch + +# Default margins. +define TMARGIN 1.25 # default margins (inches) +define BMARGIN 1.0 +define LMARGIN 1.0 +define RMARGIN 1.0 + + +# The main PSIO data structure. +define LEN_PSSTRUCT 45 +define SZ_WORD 128 + +define PS_FD Memi[$1+00] # output file descriptor +define PS_INITIALIZED Memi[$1+01] # prolog written flag +define PS_NUMBER Memi[$1+02] # number pages? +define PS_PNUM Memi[$1+03] # current page number +define PS_JUSTIFY Memi[$1+04] # text justification flag + +define PS_PAGE Memi[$1+06] # page size (letter|legal|a4|b5) +define PS_PWIDTH Memi[$1+07] # page width (points) +define PS_PHEIGHT Memi[$1+08] # page height (points) +define PS_FONTSZ Memi[$1+09] # default font size (points) + +define PS_PLMARGIN Memi[$1+10] # perm. L margin (pixres) +define PS_PRMARGIN Memi[$1+11] # perm. R margin (pixres) +define PS_PTMARGIN Memi[$1+12] # perm. L margin (pixres) +define PS_PBMARGIN Memi[$1+13] # perm. R margin (pixres) +define PS_CLMARGIN Memi[$1+14] # current L margin (pixres) +define PS_CRMARGIN Memi[$1+15] # current R margin (pixres) +define PS_PRMPOS Memi[$1+16] # perm R margin pos (pixres) +define PS_CRMPOS Memi[$1+17] # cur. R margin pos (pixres) +define PS_CURPOS Memi[$1+18] # current page pos (pixres) + +define PS_LMARGIN Memr[P2R($1+20)]# left margin (inches) +define PS_RMARGIN Memr[P2R($1+21)]# right margin (inches) +define PS_TMARGIN Memr[P2R($1+22)]# top margin (inches) +define PS_BMARGIN Memr[P2R($1+23)]# bottom margin (inches) + +define PS_HLE Memi[$1+25] # header left edge tag str +define PS_HCE Memi[$1+26] # header center tag str +define PS_HRE Memi[$1+27] # header right edge tag str +define PS_FLE Memi[$1+28] # footer left edge tag str +define PS_FCE Memi[$1+29] # footer center tag str +define PS_FRE Memi[$1+30] # footer right edge tag str + +define PS_WBPTR Memi[$1+31] # word buffer ptr + +# Runtime descriptor. +define PS_XPOS Memi[$1+35] # current page X position +define PS_YPOS Memi[$1+36] # current page Y position +define PS_CFONT Memi[$1+37] # current font type +define PS_PFONT Memi[$1+38] # previous font +define PS_SFONT Memi[$1+39] # special font (forced) +define PS_CFONT_CH Memi[$1+40] # current font code char +define PS_PFONT_CH Memi[$1+41] # special font code char +define PS_SFONT_CH Memi[$1+42] # special font code char +define PS_LINE_WIDTH Memi[$1+43] # current allowable line (points) + + +# Utility shorthand macros. +define HLEDGE Memc[PS_HLE($1)] # Header tag strings +define HCENTER Memc[PS_HCE($1)] +define HREDGE Memc[PS_HRE($1)] +define FLEDGE Memc[PS_FLE($1)] # Footer tag strings +define FCENTER Memc[PS_FCE($1)] +define FREDGE Memc[PS_FRE($1)] -- cgit