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

  1. #ifndef __INC_POS_SGOS_SGOS_H
  2. #define __INC_POS_SGOS_SGOS_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Papajewski
  9.  $DAT >>SGOS.h<<   27 Jan 1997    11:45:13 - (C) ProDAD
  10. *******************************************************************/
  11.  
  12. #ifndef __INC_POS_PEXEC_LIST_H
  13. #include <pExec/List.h>
  14. #endif
  15. #ifndef __INC_POS_PLAYER_CLIP_H
  16. #include <pLayer/Clip.h>
  17. #endif
  18.  
  19.  
  20.  
  21. /*----------------------------------
  22. -----------------------------------*/
  23. struct pOS_SGOInfo
  24. {
  25.   struct pOS_ExList     sgoi_ActiveList;
  26.   struct pOS_ExList     sgoi_InactiveList;
  27.  
  28.   struct pOS_Window    *sgoi_Window;
  29.   struct pOS_RastPort  *sgoi_RastPort;
  30.  
  31.   struct pOS_IBox       sgoi_ClipBox;
  32.  
  33.   ULONG                 sgoi_TimeDelay;
  34.   SBYTE                 sgoi_Pri;
  35.   UBYTE                 Pad0;
  36.   ULONG                 sgoi_UserData[2];
  37.  
  38.   VOID                (*sgoi_CollHandler[32])(_R_A0 struct pOS_SGObject*,_R_A1 struct pOS_SGObject*);
  39.  
  40.   /***** SYSTEM-DATA *****/
  41. };
  42.  
  43.  
  44.  
  45. /*----------------------------------
  46. -----------------------------------*/
  47. struct pOS_SGObject
  48. {
  49.   struct pOS_ExNode     sgo_Node;
  50.   struct pOS_SGOInfo   *sgo_Info;
  51.  
  52.   UWORD                 sgo_Size;
  53.   UWORD                 sgo_Width, sgo_Height;
  54.   SLONG                 sgo_OldX, sgo_OldY;
  55.   SLONG                 sgo_X, sgo_Y;
  56.  
  57.   ULONG                 sgo_HitID, sgo_HitMask;
  58.  
  59.   ULONG                 sgo_Flags;
  60.  
  61.   ULONG                 sgo_FrameCount;
  62.   ULONG                 sgo_CurFrame;
  63.   ULONG                 sgo_MaskCount;
  64.   ULONG                 sgo_CurMask;
  65.   struct pOS_GfxMap   **sgo_GfxMaps;
  66.   struct pOS_GfxMap    *sgo_GfxMap;
  67.   struct pOS_GfxMap   **sgo_Masks;
  68.   struct pOS_GfxMap    *sgo_Mask;
  69.  
  70.   VOID                (*sgo_Move_func)(_R_A0 struct pOS_SGObject*);
  71.   VOID                (*sgo_BorCollision_func)(_R_A0 struct pOS_SGObject*,_R_A1 struct pOS_IBox*,_R_D0 UWORD);
  72.   ULONG               (*sgo_AnimObj_func)(_R_A0 struct pOS_SGObject*);
  73.   ULONG               (*sgo_AnimMask_func)(_R_A0 struct pOS_SGObject*);
  74.  
  75.   ULONG                 sgo_UserData[2];
  76.  
  77.   /***** SYSTEM-DATA *****/
  78. };
  79.  
  80.  
  81. enum pOS_SGOSDrawModes
  82. {
  83.   SGOSDM_Normal = 0,
  84.   SGOSDM_Refresh,
  85. };
  86.  
  87. enum pOS_SGObjectFlags
  88. {
  89.   SGOF_MustDraw       = (1L <<  0),
  90.   SGOF_AnimObj        = (1L <<  1),
  91.   SGOF_UseMask        = (1L <<  2),
  92.   SGOF_AnimMask       = (1L <<  3),
  93.  
  94.   SGOF_Delete         = (1L <<  4),
  95.   SGOF_Inactivate     = (1L <<  5),
  96. };
  97.  
  98.  
  99. enum pOS_SGOSBorCollBits
  100. {
  101.   SGOBCB_Left         = (1 << 0),
  102.   SGOBCB_Right        = (1 << 1),
  103.   SGOBCB_Top          = (1 << 2),
  104.   SGOBCB_Bottom       = (1 << 3),
  105. };
  106.  
  107.  
  108. #endif
  109.