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

  1. #ifndef __INC_POS_PINTUI_MCLASS_H
  2. #define __INC_POS_PINTUI_MCLASS_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>MClass.h<<   03 Nov 1996    13:25:22 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PINTUI_ICLASS_H
  12. #include <pIntui/IClass.h>
  13. #endif
  14. #ifndef __INC_POS_PLAYER_RECT_H
  15. #include <pLayer/Rect.h>
  16. #endif
  17.  
  18.  
  19. /*----------------------------------
  20. -----------------------------------*/
  21. struct pOS_MenuMethod
  22. {
  23.   ULONG  imth_Method;
  24.  
  25.   union {
  26.     struct { /* ICLMTH_New */
  27.             ULONG               *imnw_Pad;
  28.       const struct pOS_TagItem  *imnw_Tags;
  29.     } imth_New;
  30.  
  31.     /* ICLMTH_Dispose */
  32.  
  33.     struct { /* ICLMTH_Set */
  34.       const struct pOS_IClassInfo *imst_Info;
  35.       const struct pOS_TagItem    *imst_Tags;
  36.     } imth_Set;
  37.  
  38.     struct { /* ICLMTH_Get */
  39.             ULONG    imgt_ID;
  40.             ULONG   *imgt_Variable;
  41.     } imth_Get;
  42.  
  43.  
  44. /********************************************/
  45.  
  46.     struct { /* MCLMTH_Render */
  47.       const struct pOS_IClassInfo *imre_Info;
  48.             ULONG                  imre_Type;     /* (enum pOS_MenuClassRender) */
  49.             ULONG                  imre_NewTick;  /* wird bei GCLMTHRE_TickFrame verwendet */
  50.             ULONG                  imre_OldTick;  /* Anzahl der IntuiTicks*100 => 1/1000 sec. */
  51.     } imth_Render;
  52.  
  53.     struct { /* MCLMTH_HandleInput */
  54.       const struct pOS_IClassInfo *imhi_Info;
  55.       const struct pOS_InputEvent *imhi_IE;
  56.       const struct pOS_Point      *imhi_RMouse; /* relativ */
  57.     } imth_HandleInput;
  58.  
  59.   } imth_U;
  60. };
  61.  
  62.  
  63.  
  64.  
  65. enum pOS_MenuClassRender
  66. {
  67.   MCLMTHRE_Update=1,   /* incremental update */
  68.   MCLMTHRE_Redraw,     /* redraw */
  69.   MCLMTHRE_Toggle,     /* toggle highlight */
  70.   MCLMTHRE_TickFrame,  /* next Frame# */
  71.  
  72.   MCLMTHRE_DrawSub=16, /* draw SubMenu */
  73.   MCLMTHRE_ClearSub,   /* SubMenu-Hintergrund wiederherstellen */
  74. };
  75.  
  76.  
  77.  
  78. enum pOS_MenuClassResult
  79. {
  80.   MCLMTHR_None=0,
  81.  
  82.   MCLMTHR_Activate=   0x0001,
  83.   MCLMTHR_AbortIE=    0x0002, /* InputEvent wird nicht weitergereicht */
  84.   MCLMTHR_InputDone=  0x0004, /* InputHandle beenden */
  85. };
  86.  
  87.  
  88. enum pOS_MenuClassMethods
  89. {
  90.   MCLMTH_Dummy=1,
  91.  
  92.   MCLMTH_Pad1,
  93.   MCLMTH_Render,      /* draw yourself, in the appropriate state */
  94.   MCLMTH_Pad2,
  95.   MCLMTH_HandleInput, /* handle that input */
  96. };
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104. #endif
  105.