1: /*
   2:  *  Interpress utilities
   3:  *
   4:  *  Written for Xerox Corporation by William LeFebvre
   5:  *  24-May-1984
   6:  *
   7:  * Copyright (c) 1984, 1985 Xerox Corp.
   8:  *
   9:  * HISTORY
  10:  * 15-Jan-86  lee at Xerox, WRC
  11:  *	Removed vax dependencies.
  12:  *
  13:  *	29-apr-85  ed flint	add conditional compilation for vax-11 c (vms)
  14:  */
  15: 
  16: /*
  17:  *  Subroutines to help build interpress files:
  18:  *
  19:  *  operator interface level - these routines call routines at the literal
  20:  *			       interface level to provide an easy way to
  21:  *			       write operators along with their parameters.
  22:  */
  23: 
  24: # include "iptokens.h"
  25: # include "literal.h"
  26: # include "operator.h"
  27: 
  28: char *index();
  29: 
  30: op_i(opcode, i)
  31: 
  32: int opcode;
  33: long i;
  34: 
  35: {
  36:     AppendInteger(i);
  37:     AppendOp(opcode);
  38: }
  39: 
  40: op_n(opcode, n)
  41: 
  42: int opcode;
  43: double n;
  44: 
  45: {
  46:     AppendNumber(n);
  47:     AppendOp(opcode);
  48: }
  49: 
  50: op_ii(opcode, i1, i2)
  51: 
  52: int opcode;
  53: long i1, i2;
  54: 
  55: {
  56:     AppendInteger(i1);
  57:     AppendInteger(i2);
  58:     AppendOp(opcode);
  59: }
  60: 
  61: op_ni(opcode, n, i)
  62: 
  63: int opcode;
  64: double n;
  65: long i;
  66: 
  67: {
  68:     AppendNumber(n);
  69:     AppendInteger(i);
  70:     AppendOp(opcode);
  71: }
  72: 
  73: op_nn(opcode, n1, n2)
  74: 
  75: int opcode;
  76: double n1, n2;
  77: 
  78: {
  79:     AppendNumber(n1);
  80:     AppendNumber(n2);
  81:     AppendOp(opcode);
  82: }
  83: 
  84: op_nnnn(opcode, n1, n2, n3, n4)
  85: 
  86: int opcode;
  87: double n1, n2, n3, n4;
  88: 
  89: {
  90:     AppendNumber(n1);
  91:     AppendNumber(n2);
  92:     AppendNumber(n3);
  93:     AppendNumber(n4);
  94:     AppendOp(opcode);
  95: }
  96: 
  97: op_nnnnnn(opcode, n1, n2, n3, n4, n5, n6)
  98: 
  99: int opcode;
 100: double n1, n2, n3, n4, n5, n6;
 101: 
 102: {
 103:     AppendNumber(n1);
 104:     AppendNumber(n2);
 105:     AppendNumber(n3);
 106:     AppendNumber(n4);
 107:     AppendNumber(n5);
 108:     AppendNumber(n6);
 109:     AppendOp(opcode);
 110: }
 111: 
 112: /*
 113:  *  Here are some extra and useful goodies
 114:  */
 115: 
 116: SetupFont(name, size, frame_index)
 117: 
 118: char *name;
 119: double size;
 120: int frame_index;
 121: 
 122: {
 123:     int i = 1;
 124:     char *slashp;
 125:     char *namep = name;
 126: 
 127:     /* make heirarchical name vector using slash as separator */
 128: #ifdef vax11c
 129:     while((slashp = strchr(namep, '/')) != 0)
 130: #else
 131:     while((slashp = index(namep, '/')) != 0)
 132: #endif
 133: 
 134:     {
 135:     *slashp = '\0';
 136:     AppendIdentifier(namep);
 137:     namep = slashp + 1;
 138:     *slashp = '/';
 139:     i++;
 140:     }
 141:     AppendIdentifier(namep);
 142:     AppendInteger((long) i);
 143:     AppendOp(OP_makevec);
 144: 
 145:     /* find the font */
 146:     AppendOp(OP_findfont);
 147: 
 148:     /* build a scaling transform */
 149:     Scale(size);
 150: 
 151:     /* apply the transform to the font */
 152:     AppendOp(OP_modifyfont);
 153: 
 154:     /* set the frame index of choice */
 155:     AppendInteger((long) frame_index);
 156:     AppendOp(OP_fset);
 157: }
 158: 
 159: ShowString(string)
 160: 
 161: char *string;
 162: 
 163: {
 164:     AppendString(string);
 165:     AppendOp(OP_show);
 166: }

Defined functions

SetupFont defined in line 116; never used
ShowString defined in line 159; never used
op_i defined in line 30; never used
op_ii defined in line 50; never used
op_n defined in line 40; never used
op_ni defined in line 61; never used
op_nn defined in line 73; never used
op_nnnn defined in line 84; never used
op_nnnnnn defined in line 97; never used
Last modified: 1986-01-15
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1161
Valid CSS Valid XHTML 1.0 Strict