-+-+-+-+-+-+-+-+ START OF PART 226 -+-+-+-+-+-+-+-+ X rec->locpet_1_datarec.box_x = readreal("box width ?"); X rec->locpet_1_datarec.box_y = readreal("box height ?"); X break; X X case -2: X readphigsenum(PTKEPFCF, rec->locpet_2_datarec.pfcf,`20 X "polyline/fillarea control flag"); X switch(rec->locpet_2_datarec.pfcf) X`09 `7B X case PPF_POLYLINE: X readlnattr(&rec->locpet_2_datarec.attr.ln); X break; X X case PPF_FILLAREA: X readinterattr(&rec->locpet_2_datarec.attr.in); X break; X X case PPF_FILLAREA_SET: X readinterattr(&rec->locpet_2_datarec.attr.fas.in); X readedgeattr(&rec->locpet_2_datarec.attr.fas.edge); X break; X`09 `7D X break; X X case -3: X readlnattr(&rec->locpet_3_datarec.ln); X rec->locpet_3_datarec.point1 = readpoint3("point 1 for echo"); X rec->locpet_3_datarec.point2 = readpoint3("point 2 for echo"); X break; X X case -4: X readlnattr(&rec->locpet_4_datarec.ln); X break; X X case -5: X readlnattr(&rec->locpet_5_datarec.ln); X break; X X case -6: X readlnattr(&rec->locpet_6_datarec.ln); X rec->locpet_6_datarec.point1 = readpoint3("point 1 for echo"); X rec->locpet_6_datarec.point2 = readpoint3("point 2 for echo"); X break; X X case -7: X readlnattr(&rec->locpet_7_datarec.ln); X rec->locpet_7_datarec.point1 = readpoint3("point 1 for echo"); X rec->locpet_7_datarec.point2 = readpoint3("point 2 for echo"); X break; X X case -8: X readlnattr(&rec->locpet_8_datarec.ln); X rec->locpet_8_datarec.point1 = readpoint3("point 1 for echo"); X rec->locpet_8_datarec.point2 = readpoint3("point 2 for echo"); X break; X X case -9: X readlnattr(&rec->locpet_9_datarec.ln); X break; X X case -10: X readlnattr(&rec->locpet_10_datarec.ln); X break; X X case -11: X break; X X case -12: X readlnattr(&rec->locpet_12_datarec.ln); X break; X X `7D X X default: break; X `7D X#endif X`7D /* readlocrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void readpickrec(C(Pint) device, C(Pint) pet, C(Ppickrec *) rec) 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 rec->pickpet2_datarec.highlight_colour =`20 X readinteger("highlight colour index ? "); X rec->pickpet2_datarec.highlight_count =`20 X readinteger("number of times to blink ? "); X rec->pickpet2_datarec.highlight_duration =`20 X readinteger("number of seconds per half blink ? "); X rec->pickpet2_datarec.aperture_size =`20 X readpoint3("percent of DC ? "); `20 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 rec->pickpet1_datarec.aperature = readreal("pick aperature ? "); X break; X X case 2: X rec->pickpet2_datarec.aperature = readreal("pick aperature ? "); X break; X X case 3: X rec->pickpet3_datarec.aperature = readreal("pick aperature ? "); X break; X `7D X X default: break; X `7D X#endif X`7D /* readpickrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void readstringrec(C(Pint) device, C(Pint) pet, C(Pstringrec *) rec) 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 rec->stringpet1_datarec.bufsiz = readinteger("buffer size ? "); X rec->stringpet1_datarec.position =`20 X readinteger("initial 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 rec->stringpet1_datarec.bufsiz = readinteger("buffer size ? "); X rec->stringpet1_datarec.position =`20 X readinteger("initial position ? "); X rec->stringpet1_datarec.title_length =`20 X readinteger("title string length ?"); X rec->stringpet1_datarec.title_string =`20 X (Pchar *)malloc(rec->stringpet1_datarec.title_length); X readquote(rec->stringpet1_datarec.title_string, "title string ? ") V; X break; X `7D X X default: break; X `7D X#endif X`7D /* readstringrec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void readstrokerec(C(Pint) device, C(Pint) pet, C(Pstrokerec *) rec) 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 rec->strokepet1_datarec.bufsiz = readinteger("buffer size ? "); X rec->strokepet1_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->strokepet1_datarec.interval =`20 X readpoint3("x, y, z interval ? "); X rec->strokepet1_datarec.time = readreal("time interval ? "); X break; X X case -3: X rec->ustrokepet3_datarec.bufsiz = readinteger("buffer size ? "); X rec->ustrokepet3_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->ustrokepet3_datarec.interval =`20 X readpoint3("x, y, z interval ? "); X rec->ustrokepet3_datarec.time = readreal("time interval ? "); X readmkbundl(&rec->ustrokepet3_datarec.mk_bundl); X break; `20 X X case -4: X rec->ustrokepet4_datarec.bufsiz = readinteger("buffer size ? "); X rec->ustrokepet4_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->ustrokepet4_datarec.interval =`20 X readpoint3("x, y, z interval ? "); X rec->ustrokepet4_datarec.time = readreal("time interval ? "); X readlnbundl(&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 rec->strokepet1_datarec.bufsiz = readinteger("buffer size ? "); X rec->strokepet1_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->strokepet1_datarec.interval =`20 X readpoint("x, y interval ? "); X rec->strokepet1_datarec.time = readreal("time interval ? "); X break; X X case 3: X rec->strokepet3_datarec.bufsiz = readinteger("buffer size ? "); X rec->strokepet3_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->strokepet3_datarec.interval =`20 X readpoint("x, y interval ? "); X rec->strokepet3_datarec.time = readreal("time interval ? "); X readmkattr(&rec->strokepet3_datarec.mk); X break; `20 X X case 4: X rec->strokepet4_datarec.bufsiz = readinteger("buffer size ? "); X rec->strokepet4_datarec.editpos =`20 X readinteger("initial editing position ? "); X rec->strokepet4_datarec.interval =`20 X readpoint("x, y interval ? "); X rec->strokepet4_datarec.time = readreal("time interval ? "); X readlnattr(&rec->strokepet4_datarec.ln); X break; `20 X `7D X X default: break; X `7D X#endif X`7D /* readstrokerec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void readvalrec(C(Pint) device, C(Pint) pet, C(Pvalrec *) rec) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Pvalrec *rec) X`7B X Pint len; X 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 rec->valpet1_datarec.low = readreal("low limit ? "); X rec->valpet1_datarec.high = readreal("high limit ? "); X break; X X case -1: X rec->uvalpet1_datarec.low = readreal("low limit ? "); X rec->uvalpet1_datarec.high = readreal("high limit ? "); X rec->uvalpet1_datarec.length = readinteger("length of slider ? "); X readstring(rec->uvalpet1_datarec.label, "label for slider ? "); X readstring(rec->uvalpet1_datarec.format, "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 rec->valpet1_datarec.low = readreal("low limit ? "); X rec->valpet1_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet1_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet1_datarec.title_string, "title string ? "); X break; X X case 2: X rec->valpet2_datarec.low = readreal("low limit ? "); X rec->valpet2_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet2_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet2_datarec.title_string, "title string ? "); X break; X X case 3: X rec->valpet3_datarec.low = readreal("low limit ? "); X rec->valpet3_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet3_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet3_datarec.title_string, "title string ? "); X break; X X case -1: X rec->valpet_1_datarec.low = readreal("low limit ? "); X rec->valpet_1_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet_1_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet_1_datarec.title_string, "title string ? "); X break; `20 X X case -2: X rec->valpet_2_datarec.low = readreal("low limit ? "); X rec->valpet_2_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet_2_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet_2_datarec.title_string, "title string ? "); X break; `20 X X case -3: X rec->valpet_3_datarec.low = readreal("low limit ? "); X rec->valpet_3_datarec.high = readreal("high limit ? "); X len = readinteger("title string length ?"); X rec->valpet_3_datarec.title_string = (Pchar *)malloc(len); X readquote(rec->valpet_3_datarec.title_string, "title string ? "); X break; `20 X `7D X X default: break; X `7D X#endif X`7D /* readvalrec */ X X/*-------------------------------------------------------------------------- V*/ X/*---------------------- PHIGS functions ----------------------------------- V*/ X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_paddnameset() X`7B X Pintlst addset; X X readintlst(&addset, "name set", PTKENAME); X paddnameset(&addset); X free(addset.integers); X`7D /* do_paddnameset */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pannotationtextrelative() X`7B X Ppoint refpt, offset; X Pchar str`5B255`5D; X X refpt = readpoint("reference point"); X offset = readpoint("annotation offset"); X readquote(str, "annotation text string ? "); X pannotationtextrelative(&refpt, &offset, str); X`7D /* do_pannotationtextrelative */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pannotationtextrelative3() X`7B X Ppoint3 refpt, offset; X Pchar str`5B255`5D; X X refpt = readpoint3("reference point"); X offset = readpoint3("annotation offset"); X readquote(str, "annotation text string ? "); X pannotationtextrelative3(&refpt, &offset, str); X`7D /* do_pannotationtextrelative3 */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_papplicationdata() X`7B X Pdata appldata; X Pchar *applstr; X X appldata.size = readinteger("application data size (in bytes) ?"); X applstr = (Pchar *)malloc(appldata.size + 1); X appldata.data = applstr; X readquote(applstr, "application data ? "); X papplicationdata(&appldata); X free(applstr); X`7D /* do_papplicationdata */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_parallstruct() X`7B X parallstruct(readinteger("archive identifier ? ")); X`7D /* do_parallstruct */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_parstruct() X`7B X Pint i, libid; X Pintlst sns; X Pchar prom`5B50`5D; X X libid = readinteger("archive identifier ? "); X sns.number = readinteger("number of structures to archive ? "); X sns.integers = (Pint *)calloc(sns.number, sizeof(Pint)); X for (i = 0; i < sns.number; i++)`20 X `7B X sprintf(prom, "structure identifier `5B%d`5D ? ", i); +-+-+-+-+-+-+-+- END OF PART 226 +-+-+-+-+-+-+-+-