-+-+-+-+-+-+-+-+ START OF PART 222 -+-+-+-+-+-+-+-+ X writelnattr(dest, &rec->locpet_5_datarec.ln); X break; X X case -6: X writelnattr(dest, &rec->locpet_6_datarec.ln); X phinprintf(dest, "point 1 for echo"); X writepoint3(dest, &rec->locpet_6_datarec.point1); X phinprintf(dest, "point 2 for echo"); X writepoint3(dest, &rec->locpet_6_datarec.point2); X break; X X case -7: X writelnattr(dest, &rec->locpet_7_datarec.ln); X phinprintf(dest, "point 1 for echo"); X writepoint3(dest, &rec->locpet_7_datarec.point1); X phinprintf(dest, "point 2 for echo"); X writepoint3(dest, &rec->locpet_7_datarec.point2); X break; X X case -8: X writelnattr(dest, &rec->locpet_8_datarec.ln); X phinprintf(dest, "point 1 for echo"); X writepoint3(dest, &rec->locpet_8_datarec.point1); X phinprintf(dest, "point 2 for echo"); X writepoint3(dest, &rec->locpet_8_datarec.point2); X break; X X case -9: X writelnattr(dest, &rec->locpet_9_datarec.ln); X break; X X case -10: X writelnattr(dest, &rec->locpet_10_datarec.ln); X break; X X case -11: X break; X X case -12: X writelnattr(dest, &rec->locpet_12_datarec.ln); X break; X X `7D X X default: break; X `7D X#endif X`7D /* writelocrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writepickrec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Ppickrec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Ppickrec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X case 2: X case 3:`20 X case 4: X case 5: X case 6: X switch (pet) X `7B X case 1: X break; X X case 2: X case 3: X case -1: X case -2: X case -3: X case -4: X phinprintf(dest, "highlight colour index"); X writeintvalue(dest, rec->pickpet2_datarec.highlight_colour, PTKECO VLOURIND); X phinprintf(dest, "number of times to blink"); X writeinteger(dest, rec->pickpet2_datarec.highlight_count); X phinprintf(dest,`20 X "number of seconds per half blink"); X writeinteger(dest, rec->pickpet2_datarec.highlight_duration); X phinprintf(dest, "percent of DC"); X writepoint3(dest, &rec->pickpet2_datarec.aperture_size); X break; X `7D X X default: break; X `7D X#endif X#ifdef VMS X switch (device) X `7B X case 1:`20 X case 2: X case 3:`20 X case 4: X switch (pet) X `7B X case 1: X phinprintf(dest, "pick aperature"); X writereal(dest, rec->pickpet1_datarec.aperature); X break; X X case 2: X phinprintf(dest, "pick aperature"); X writereal(dest, rec->pickpet2_datarec.aperature); X break; X X case 3: X phinprintf(dest, "pick aperature"); X writereal(dest, rec->pickpet3_datarec.aperature); X break; X `7D X X default: break; X `7D X#endif X`7D /* writepickrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writestringrec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Pstringrec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Pstringrec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X switch (pet) X `7B X case 1: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->stringpet1_datarec.bufsiz); X phinprintf(dest, "initial position = "); X writeinteger(dest, rec->stringpet1_datarec.position); X break; X `7D X X default: break; X `7D X#endif X#ifdef VMS X switch (device) X `7B X case 1: X case 2: X case 3: X case 4:`20 X switch (pet) X `7B X case 1: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->stringpet1_datarec.bufsiz); X phinprintf(dest, "initial position = "); X writeinteger(dest, rec->stringpet1_datarec.position); X/* writeinteger(dest, rec->stringpet1_datarec.title_length, X "title string length"); X if (rec->stringpet1_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n",`20 X rec->stringpet1_datarec.title_string); */ X break; X `7D X X default: break; X `7D X#endif X`7D /* writestringrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writestrokerec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Pstrokerec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Pstrokerec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X case 2: X case 3: X switch (pet) X `7B X case 1: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->strokepet1_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->strokepet1_datarec.editpos); X phinprintf(dest, "x, y, z interval: "); X writepoint3(dest, &rec->strokepet1_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->strokepet1_datarec.time); X break; X X case -3: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->ustrokepet3_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->ustrokepet3_datarec.editpos); X phinprintf(dest, "x, y, z interval: "); X writepoint3(dest, &rec->ustrokepet3_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->ustrokepet3_datarec.time); X writemkbundl(dest, &rec->ustrokepet3_datarec.mk_bundl); X break; `20 X X case -4: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->ustrokepet4_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->ustrokepet4_datarec.editpos); X phinprintf(dest, "x, y, z interval: "); X writepoint3(dest, &rec->ustrokepet4_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->ustrokepet4_datarec.time); X writelnbundl(dest, &rec->ustrokepet4_datarec.ln_bundl); X break; `20 X `7D X X default: break; X `7D X#endif X#ifdef VMS X switch (device) X `7B X case 1:`20 X case 2: X case 3: X case 4: X switch (pet) X `7B X case 1: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->strokepet1_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->strokepet1_datarec.editpos); X phinprintf(dest, "x, y interval: "); X writepoint(dest, &rec->strokepet1_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->strokepet1_datarec.time); X break; X X case 3: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->strokepet3_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->strokepet3_datarec.editpos); X phinprintf(dest, "x, y interval: "); X writepoint(dest, &rec->strokepet3_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->strokepet3_datarec.time); X writemkattr(dest, &rec->strokepet3_datarec.mk); X break; `20 X X case 4: X phinprintf(dest, "buffer size = "); X writeinteger(dest, rec->strokepet4_datarec.bufsiz); X phinprintf(dest, "editing position = "); X writeinteger(dest, rec->strokepet4_datarec.editpos); X phinprintf(dest, "x, y interval: "); X writepoint(dest, &rec->strokepet4_datarec.interval); X phinprintf(dest, "time interval = "); X writereal(dest, rec->strokepet4_datarec.time); X writelnattr(dest, &rec->strokepet4_datarec.ln); X break; `20 X `7D X X default: break; X `7D X#endif X`7D /* writestrokerec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writevalrec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Pvalrec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Pvalrec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X case 2: X case 3: X case 4: X case 5: X case 6: X case 7: X case 8: X case 9: X case 10: X switch (pet) X `7B X case 1: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet1_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet1_datarec.high); X break; X X case -1: X phinprintf(dest, "low limit = "); X writereal(dest, rec->uvalpet1_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->uvalpet1_datarec.high); X phinprintf(dest, "pixel length = "); X writeinteger(dest, rec->uvalpet1_datarec.length); X fprintf(dest, "label for slider = %s\n",`20 X rec->uvalpet1_datarec.label); X fprintf(dest, "format = %s\n", rec->uvalpet1_datarec.format); X break; `20 X `7D X X default: break; X `7D X#endif X#ifdef VMS X switch (device) X `7B X case 1:`20 X case 2: X case 3: X case 4: X switch (pet) X `7B X case 1: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet1_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet1_datarec.high); X/* if (rec->valpet1_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet1_datarec.title_string); */ X break; X X case 2: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet2_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet2_datarec.high); X/* if (rec->valpet2_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet2_datarec.title_string); */ X break; X X case 3: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet3_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet3_datarec.high); X/* if (rec->valpet3_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet3_datarec.title_string); */ X break; X X case -1: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet_1_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet_1_datarec.high); X/* if (rec->valpet_1_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet_1_datarec.title_string); */ X break; `20 X X case -2: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet_2_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet_2_datarec.high); X/* if (rec->valpet_2_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet_2_datarec.title_string); */ X break; `20 X X case -3: X phinprintf(dest, "low limit = "); X writereal(dest, rec->valpet_3_datarec.low); X phinprintf(dest, "high limit = "); X writereal(dest, rec->valpet_3_datarec.high); X/* if (rec->valpet_3_datarec.title_string != NULL) X fprintf(dest, "title string = %s\n", X rec->valpet_3_datarec.title_string); */ X break; `20 X `7D X X default: break; X `7D X#endif X`7D /* writevalrec */ X X/*-------------------------------------------------------------------------- V*/ X/*-------------------- general reading functions --------------------------- V*/ X/*-------------------------------------------------------------------------- V*/ X Xstatic void input_trap(C(Pchar *) s) XPreANSI(Pchar *s) X/* X** description:`20 X** input params:`20 X** output params:`20 X** return value:`20 X*/ X`7B X clearerr(inputscript); X if (!interactive) X `7B X phintererror(2, s, POPREQ); X return; X `7D X printf("** error reading %s : Try Again\n", s); X fscanf(inputscript, "%*`5B`5E\n`5D"); `20 X /* chuck away any input left on the line */ X getc(inputscript); X`7D /* input_trap */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void stripstr(C(Pchar *) str, C(Pchar) stripch) XPreANSI(Pchar *str) XPreANSI(Pchar stripch) X`7B X Pint i, j; X ptkboolean stripped; X Pchar ch; X X i = j = 0; X stripped = FALSE; X while (!stripped) X `7B X ch = str`5Bi`5D; X if (ch == '\0') X stripped = TRUE; X else X if (ch != stripch) X `7B X str`5Bj`5D = ch; X j++; X `7D X i++; X `7D X str`5Bj`5D = '\0'; X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void readquote(C(Pchar *) str, C(Pchar *) prom) XPreANSI(Pchar *str) XPreANSI(Pchar *prom) X/* X** Reads a string. if the first non-blank character found is X** a double quote ("), the string is assumed to quoted, and must X** be "string", on one line. otherwise, the next sequence of +-+-+-+-+-+-+-+- END OF PART 222 +-+-+-+-+-+-+-+-