home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / c / laserlib / inc / popmenu.inc < prev    next >
Encoding:
Text File  |  1994-09-22  |  1.7 KB  |  52 lines

  1. /**************************************************************************/
  2. /*                                                                        */
  3. /*  NAME:         popmenu.inc                                             */
  4. /*                                                                        */
  5. /*  DATUM:        31.05.89                                                */
  6. /*                                                                        */
  7. /*  BESCHREIBUNG: Include-Datei fuer popmenu.c.                           */
  8. /*                                                                        */
  9. /**************************************************************************/
  10.  
  11. #include <portab.h>
  12.  
  13. #define PMVALUE  0x1        /* Menue-Eintrag ist Wert                     */
  14. #define PMFUNC   0x2        /* Menue-Eintrag ist Funktion                 */
  15. #define PMPROC   0x4        /* Menue-Eintrag ist Prozedur -> kein return  */
  16. #define PMMENU   0x8        /* Menue-Eintrag ist Untermenue               */
  17. #define PMSELECT 0x100      /* Menue-Eintrag kann selektiert werden       */
  18.  
  19. #define ISSUBMENU TRUE   
  20.  
  21. #define NULLPME  ((PME *) 0L)
  22.  
  23. struct pmenuentry
  24. {
  25.    BYTE *pme_text;
  26.    WORD  pme_type;
  27.    BYTE *pme_ret;
  28.    BYTE *pme_param;
  29. };
  30. typedef struct pmenuentry PME;
  31.  
  32. struct pmenu
  33. {
  34.    BYTE *pm_title;
  35.    WORD  pm_width;
  36.    WORD  pm_height;
  37.    WORD  pm_size;
  38.    PME  *pm_entries;
  39. };
  40. typedef struct pmenu PM;
  41.  
  42. #define PMTABSIZE(tab)    ((WORD) sizeof (tab) / sizeof (PME))
  43.  
  44. extern BYTE *pmexec();
  45. extern WORD  pmselect();
  46.  
  47. #define PMIsSelect(e)     (e->pme_type & PMSELECT)
  48. #define PMIsDesel(e)      (!PMIsSelect(e))
  49. #define PMSelect(m, t)    (pmselect (m, t, TRUE))
  50. #define PMDesel(m, t)     (pmselect (m, t, FALSE))
  51.  
  52.