void prnt_Paged_Menu(char **menu) { int done = FALSE; int lines = (PROMPT_LINE-TOP_SCROLL_WIN); if (! tty) { for (; *menu != NULL; menu++) bu_log("%s\n", *menu); return; } for (; *menu != NULL && ! done;) { for (; lines > 0 && *menu != NULL; menu++, --lines) prnt_Scroll("%-*s\n", co, *menu); if (*menu != NULL) done = ! do_More(&lines); prnt_Prompt(""); } (void) fflush(stdout); return; }
/* l g t _ P r i n t _ D b ( ) Print light source database entry. */ int lgt_Print_Db(int id) { Lgt_Source *entry; int stop; int lines = (PROMPT_LINE-TOP_SCROLL_WIN); if ( id >= lgt_db_size ) return 0; else if ( id < 0 ) { stop = lgt_db_size - 1; id = 0; } else stop = id; for (; id <= stop; id++, lines-- ) { entry = &lgts[id]; if ( lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( "\n" ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( "LIGHT SOURCE [%d] %s\n", id, entry->name ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " manual override\t(%s)\n", entry->over ? "ON" : "OFF" ); if ( entry->stp == SOLTAB_NULL || entry->over ) { if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " azimuth\t\t(%g)\n", entry->azim*RAD2DEG ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " elevation\t(%g)\n", entry->elev*RAD2DEG ); } if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " distance\t\t(%g)\n", entry->dist ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " location\t\t<%g,%g,%g>\n", entry->loc[X], entry->loc[Y], entry->loc[Z] ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " gaussian beam\t(%s)\n", entry->beam ? "ON" : "OFF" ); if ( entry->beam ) { if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " beam radius\t(%g)\n", entry->radius ); } if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " intensity\t(%g)\n", entry->energy ); if ( --lines <= 0 && ! do_More( &lines ) ) break; prnt_Scroll( " color\t\t(%d %d %d)\n", entry->rgb[0], entry->rgb[1], entry->rgb[2] ); } (void) fflush( stdout ); return 1; }