home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 100.lha / IfsDraw / ifsmenu.c < prev    next >
C/C++ Source or Header  |  1986-11-20  |  2KB  |  104 lines

  1. /* *****
  2. IFSMenu.c   Copyright Charles Fritchie, Jr., 1988.
  3. Menu for IFSDraw, IFS drawing program.
  4. Modelled after sample by V. Hopson in AmigaWorld, Jan/Feb 1987,
  5. p. 104ff.
  6. ***** */
  7. #include "exec/types.h"
  8. #include "intuition/intuition.h"
  9.  
  10. /* IntuiText initializations */
  11.  
  12. #define HIRESO
  13.  
  14. #ifdef HIRESO
  15. #define WIDFAC 2
  16. #endif HIRESO
  17.  
  18. #ifdef LORESO
  19. #define WIDFAC 1
  20. #endif LORESO
  21.  
  22. struct IntuiText IText[] =
  23. {
  24.   {0, 1, JAM1, 0, 0, NULL, "(Re)Start "},
  25.   {0, 2, JAM1, 0, 0, NULL, "More "},
  26.   {0, 3, JAM1, 0, 0, NULL, "Quit "},
  27.   {0, 4, JAM1, CHECKWIDTH, 0, NULL, "x 1 "},
  28.   {0, 5, JAM1, CHECKWIDTH, 0, NULL, "x 2 "},
  29.   {0, 6, JAM1, CHECKWIDTH, 0, NULL, "x 1/2 "},
  30. };
  31.  
  32. /* Menu item initializations */
  33. struct MenuItem MenuItem[] =
  34. {
  35.   {  /* MenuItem[0] : (Re)Start */
  36.     &MenuItem[1],
  37.     0, 0, 45*WIDFAC+COMMWIDTH, 9,
  38.     (ITEMTEXT|ITEMENABLED|HIGHCOMP|COMMSEQ),
  39.     NULL,
  40.     (APTR) &IText[0],
  41.     NULL,
  42.     'S'  /* Right Amiga key activator */
  43.   },  
  44.   {  /* MenuItem[1] : More */
  45.     &MenuItem[2],
  46.     0, 9, 45*WIDFAC, 9,
  47.     (ITEMTEXT|ITEMENABLED|HIGHCOMP),
  48.     NULL,
  49.     (APTR) &IText[1],
  50.     NULL,
  51.     NULL,
  52.     &MenuItem[3]
  53.   },  
  54.   { /* MenuItem[2] : Quit */
  55.     NULL,
  56.     0, 18, 45*WIDFAC+COMMWIDTH, 9,
  57.     (ITEMTEXT|ITEMENABLED|HIGHCOMP|COMMSEQ),
  58.     NULL,
  59.     (APTR) &IText[2],
  60.     NULL,
  61.     'Q'
  62.   },
  63.   {  /* MenuItem[3] : x 1 */
  64.     &MenuItem[4],
  65.     37*WIDFAC, 2, (30*WIDFAC + CHECKWIDTH + COMMWIDTH), 9,
  66.     (CHECKIT|CHECKED|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHCOMP),
  67.     0x6,
  68.     (APTR) &IText[3],
  69.     NULL,
  70.     '1'
  71.   },  
  72.   {  /* MenuItem[4] : x 2 */
  73.     &MenuItem[5],
  74.     37*WIDFAC, 11, (30*WIDFAC + CHECKWIDTH + COMMWIDTH), 9,
  75.     (CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHCOMP),
  76.     0x5,
  77.     (APTR) &IText[4],
  78.     NULL,
  79.     '2'
  80.   },  
  81.   {  /* MenuItem[5] : x 1/2 */
  82.     NULL,
  83.     37*WIDFAC, 20, (30*WIDFAC + CHECKWIDTH + COMMWIDTH), 9,
  84.     (CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHCOMP),
  85.     0x3,
  86.     (APTR) &IText[5],
  87.     NULL,
  88.     '3'
  89.   }    
  90. };
  91.  
  92. /* Menu initializations */  
  93.   struct Menu IFSMenu[] =
  94. {  
  95.   {/* Menu[0] : Options */
  96.     NULL,
  97.     0, 0, 44*WIDFAC, 0, 
  98.     MENUENABLED,
  99.     "Options ",
  100.     &MenuItem[0]
  101.   }
  102. };
  103.  
  104.