home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume10 / lemming / part02 / lemundo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-08-05  |  598 b   |  29 lines

  1. /*
  2.  * lemundo.c - undo last operation
  3.  *
  4.  * copyright (c) by Alan W. Paeth, 1987. All rights reserved.
  5.  */
  6.  
  7. #include "lem.h"
  8.  
  9. undocmd()
  10.     {
  11.     float d;
  12.     switch(undo)
  13.     {
  14. case UNDOMOVE:    moveselect(-unx, -uny);
  15.         break;
  16. case UNDOTUG:    tugunselect(unxe, unye, unx, uny);
  17.         break;
  18. case UNDOAFF:    d = (un11 * un22) - (un21 * un12);
  19.             if (d == 0.0) return;    /* no-op if singular */
  20.             transform(un22/d, -un12/d, -un21/d, un11/d);
  21.         break;
  22. case UNDODEL:    all(UNDELETE, 0);
  23.         undo = UNDONONE;
  24.         break;
  25. default:    undo = UNDONONE;
  26. case UNDONONE:    msgpost("cannot undo last operation"); break;
  27.     }
  28.     }
  29.