more featureful pup - patch
David R. Blythe
drb at eecg.toronto.edu
Tue Feb 26 17:36:19 AEST 1991
I fixed up/tested the FORTRAN bindings as one or two people noted that they
would find them useful. Randy Frank pointed out that my dopup() failed to
return -1 if you selected an entry corresponding to a submenu without making
the submenu open. I noticed that I didn't have the same item number assigment
semantics as the sgi version in the absence of a %x specifier (I counted from
0 when it should have been 1). And I forgot to disable the z-buffer which
can have surprising results in some programs (possibly only on GT/GTX machines).
patches follow or the new version is available from pub/clsc/pup.tar.Z on
bessel.clsc.utoronto.ca. additional comments/bug reports are welcome.
david blythe
ontario centre for large scale computation
drb at clsc.utoronto.ca
RCS file: RCS/pup.c,v
retrieving revision 1.2
diff -r1.2 pup.c
136c136
< retval = menu->nel;
---
> retval = el-menu->elements+1;
187a188,189
> if (pup == 0 || pup == -1 || str == 0) return;
>
272c274
< retval = menu->nel;
---
> retval = el-menu->elements+1;
328c330
< if (pup == 0 || pup == -1) return;
---
> if (pup == 0 || pup == -1 || str == 0) return;
433c435
< retval = menu->nel;
---
> retval = el-menu->elements+1;
478c480
< Boolean vis;
---
> Boolean vis, zmode;
489a492
> zmode = getzbuffer(); zbuffer(FALSE);
495a499
> zbuffer(zmode);
627c631
< if (el->flags&F_DISBLE) return -1;
---
> if (el->flags&(F_DISBLE|F_SUBMEN)) return -1;
731,732c735,738
< cmov2i(menu->ox, menu->cy+EL_SLOP - i*EL_HEIGHT-HILIGHT_FUDGE);
< draw2i(menu->cx, menu->cy+EL_SLOP - i*EL_HEIGHT-HILIGHT_FUDGE);
---
> int v[2];
> v[0] = menu->ox;
> v[1] = menu->cy+EL_SLOP - i*EL_HEIGHT-HILIGHT_FUDGE;
> bgnline(); v2i(v); v[0] = menu->cx; v2i(v); endline();
940a947
> /*#define FORTRAN*/
943c950
< * fortran bindings (broken)
---
> * fortran bindings
968a976
> if (s) free(s);
981a990
> if (s) free(s);
More information about the Comp.sys.sgi
mailing list