35 static void gp_mark(
int,
int,
int,
int,
int,
int);
71 *Y += Window->kaBottom;
79 *Y += Window->kaBottom;
150 for (Int1 = 0; ; Int1++) {
151 if (Menu[Int1].mEntry ==
NULL)
break;
152 if (Menu[Int1].mActive)
161 for (Int1 = 0; ; Int1++) {
259 for (Int2 = 0; ; Int2++)
278 for (Int2 = 0; ; Int2++)
295 for (i = 0; Menu[i].mEntry; i++)
313 memset(Menu[Index].mPrefix,0,6);
316 strcpy(m1,Menu[Index].mEntry);
317 for (j = 0; Menu[j].mEntry; j++) {
318 if (Index == j)
continue;
319 strcpy(m2,Menu[j].mEntry);
321 if (*Menu[Index].mEntry !=
' ')
322 for (k = j; Menu[k].mEntry; k++) {
323 strcpy(Menu[k].mPrefix,Menu[k+1].mPrefix);
324 Menu[k].mEntry = Menu[k+1].mEntry;
325 Menu[k].mActive = Menu[k+1].mActive;
332 if (Count > 5) Count = 5;
334 Menu[Index].mPrefix[Count] = Menu[Index].mEntry[Count];
346 while (Menu[i].mEntry !=
NULL) {
347 if (!strcmp(Menu[i].mEntry,String))
return (i);
360 char MenuSelection[8],*
prefix;
365 prefix = Menu[Index].mPrefix;
394 char MenuSelection[8], *
prefix;
399 prefix = Menu[Index].mPrefix;
485 buffer[Int1] = *cp++;
486 if (buffer[Int1] ==
'\n')
490 buffer[Int1++] =
EOS;
497 sprintf(&buffer[Int1],
" MORE");
553 char Type,DisplayOrErase;
561 if (Bottom < 0) Bottom = 0;
562 Top =
gi_maxy-(Top-1)*gi_fntheight;
570 FBBox(Pixel,DisplayOrErase,Type,Left,Bottom,Right,Top-1);
648 static struct ks *ObjQ;
651 if (Pointer ==
NULL) {
652 for (q = ObjQ; q; q = qq) {
670 if (DisplayOrErase ==
DISPLAY) {
679 for (qq =
NULL,q = ObjQ; q; qq = q,q = q->
ksSucc)
680 if (q->ksPointer == Pointer) {
709 if (Pointer->oType ==
CDWIRE) {
710 CDWire(Pointer,&Layer,&Width,&Path);
745 struct mark *mm, *mtmp;
748 if (!Delta && DisplayOrErase ==
DISPLAY) {
749 for (mm = mlist; mm; mm = mm->
next) {
763 if (DisplayOrErase ==
DISPLAY) {
781 for (mtmp =
NULL,mm = mlist; mm; mtmp = mm,mm = mm->
next) {
782 if (mm->X == X && mm->Y == Y) {
784 if (mm == mlist) mlist = mm->
next;
822 ShowLine(Color,X,Y-Delta,X,Y+Delta);
823 ShowLine(Color,X-Delta,Y,X,Y+Delta);
824 ShowLine(Color,X+Delta,Y,X,Y+Delta);
827 ShowLine(Color,X-Delta,Y,X+Delta,Y);
828 ShowLine(Color,X,Y+Delta,X+Delta,Y);
829 ShowLine(Color,X,Y-Delta,X+Delta,Y);
832 ShowLine(Color,X,Y-Delta,X,Y+Delta);
833 ShowLine(Color,X-Delta,Y,X,Y-Delta);
834 ShowLine(Color,X+Delta,Y,X,Y-Delta);
837 ShowLine(Color,X-Delta,Y,X+Delta,Y);
838 ShowLine(Color,X,Y+Delta,X-Delta,Y);
839 ShowLine(Color,X,Y-Delta,X-Delta,Y);
845 ShowLine(Color,X-Delta,Y,X+Delta,Y);
846 ShowLine(Color,X,Y-Delta,X,Y+Delta);
850 gp_mark(m->Type,Color,X,Y,Delta,m->Orient);
859 int
c,
Color, x, y, delta, orient;
861 int x0, x1, y0, y1, y2;
887 ShowLine(Color,x0,y2,(x0+x1)/2,y2+delta);
888 ShowLine(Color,(x0+x1)/2,y2+delta,x1,y2);
907 ShowLine(Color,x1,y0,(x0+x1)/2,y0-delta);
908 ShowLine(Color,(x0+x1)/2,y0-delta,x0,y0);
997 if (c ==
'\0')
return (-1);
998 if (d ==
'\0')
return (1);
999 if (isupper(c)) c = tolower(c);
1000 if (isupper(d)) d = tolower(d);
1001 if (c != d)
return (c-d);
void FixMenuPrefix(MENU *Menu)
struct ka * kvCoarseWindow
void AlterMenuEntries(char *Word1, char *Word2)
#define FBEraseBox(L, B, R, T)
void ClipToGridPoint(long *x, long *y)
#define COARSEVIEWPORTONLY
static void mark_object()
void EraseLargeCoarseViewport()
static int get_menu_index()
void MenuDeselect(char *Selection)
#define MenuSelectedColor
struct ka * kvFineViewport
void ShowCurrentObject(struct o *Pointer, char DisplayOrErase)
struct ka * kvLargeCoarseViewport
static void display_menu_entry()
void ShowMenu(MENU *Menu)
struct ka * kvCoarseViewport
#define MenuHighlightingColor
void MenuSelect(char *Selection)
void MenuSelectDev(char *Selection)
void ShowMarker(char DisplayOrErase, int Color, long X, long Y, int Delta, int Type, int Orient)
void MenuDeselectDev(char *Selection)
static void fix_menu_entry_prefix()
void ShowPromptAndWait(char *cp)
#define MenuSelectedPrefixColor
#define FBBox(Pixel, DisplayOrErase, Type, L, B, R, T)
static char BackPrompt[200]
void AppendToOldPrompt(char c)
#define MenuTextPrefixColor
MENU AmbiguityMenu[DefMenuSize]
void ShowPromptWithColor(char *Prompt, int Color)
static void display_selected_entry()
void OutlineText(int Left, int Bottom, int Right, int Top, char Type, char DisplayOrErase, int Pixel)
void PToL(struct ka *Window, long *X, long *Y)
void ShowPrompt(char *Prompt)
#define HighlightingColor