home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pIntui / Menu.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  2.6 KB  |  119 lines

  1. #ifndef __INC_POS_PINTUI_MENU_H
  2. #define __INC_POS_PINTUI_MENU_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>Menu.h<<   09 Jan 1997    09:42:31 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PEXEC_LIST_H
  12. #include <pExec/List.h>
  13. #endif
  14. #ifndef __INC_POS_PLAYER_RECT_H
  15. #include <pLayer/Rect.h>
  16. #endif
  17.  
  18.  
  19. /*----------------------------------
  20. -----------------------------------*/
  21. struct pOS_MenuTag
  22. {
  23.   UBYTE              mt_Type;          /* (enum pOS_MenuTagType) */
  24.   UBYTE              mt_Pad;
  25.   union {
  26.     const CHAR      *mt_Lable;         /* Menu's lable */
  27.   } mt_U;
  28.  
  29.   const CHAR        *mt_CommKey;       /* MenuItem Command Key Equiv */
  30.   UWORD              mt_Flags;         /* (enum pOS_MenuItemFlags) */
  31.   ULONG              mt_MutualExclude; /* MenuItem MutualExclude word */
  32.   ULONG              mt_UserData[2];
  33.   UBYTE              mt_Reserved[12];
  34.   const struct pOS_TagItem *mt_Tags;
  35. };
  36.  
  37.  
  38. enum pOS_MenuTagType /* mt_Type */
  39. {
  40.   MENUTAGTYP_End=0,
  41.  
  42.   MENUTAGTYP_Title=1,
  43.   MENUTAGTYP_Item,
  44.   MENUTAGTYP_Sub,
  45.   MENUTAGTYP_ItemBar,
  46.   MENUTAGTYP_SubBar,
  47. };
  48.  
  49.  
  50. /*----------------------------------
  51. -----------------------------------*/
  52. struct pOS_MenuNum
  53. {
  54.   union {
  55.     ULONG men_Num;
  56.     UBYTE men_Pck[3];  /* Index => (enum pOS_MenuNumPck) */
  57.   } men_U;
  58. };
  59.  
  60.  
  61. enum pOS_MenuNumPck
  62. {
  63.   MENNUPCK_Title=0,
  64.   MENNUPCK_Item,
  65.   MENNUPCK_Sub,
  66. };
  67.  
  68.  
  69. /*----------------------------------
  70. -----------------------------------*/
  71. struct pOS_MenuList
  72. {
  73.   struct pOS_ExList ml_List;
  74. }; /* system datas */
  75.  
  76.  
  77. /*----------------------------------
  78. -----------------------------------*/
  79. struct pOS_MenuItem
  80. {
  81.   struct pOS_ExNode    mi_Node;
  82.  
  83.   SWORD                mi_LeftEdge;
  84.   SWORD                mi_TopEdge;
  85.   UWORD                mi_Width;
  86.   UWORD                mi_Height;
  87.  
  88.   ULONG                mi_Flags;       /* (enum pOS_MenuItemFlags) */
  89.   ULONG                mi_UserData[2];
  90.  
  91.   struct pOS_IntuiObj *mi_Render;
  92.   struct pOS_IntuiObj *mi_Select;
  93.  
  94. /*---------------------------------------------*/
  95.   struct pOS_ExList    mi_MembList;    /* Members */
  96.   struct pOS_MenuItem *mi_Parent;
  97.  
  98.   ULONG                mi_MutualExclude;
  99.   UWORD                mi_NextSelect;
  100.  
  101. /** SYSTEM-DATAS **/
  102. };
  103.  
  104.  
  105.  
  106. enum pOS_MenuItemFlags /* mi_Flags */
  107. {
  108.  
  109.   MENUITF_Disabled    = 0x0008,
  110.   MENUITF_Hook        = 0x0010, /* Menu ist kann abgehakt werden */
  111.   MENUITF_Toggle      = 0x0020, /* Menu-Haken wechselt autom. ON/OFF */
  112.   MENUITF_IsChecked   = 0x0040, /* Haken ist gesetzt */
  113. };
  114.  
  115.  
  116.  
  117.  
  118. #endif
  119.