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

  1. #ifndef __INC_POS_PINTUI_OCLASS_H
  2. #define __INC_POS_PINTUI_OCLASS_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>OClass.h<<   23 Feb 1997    18:44:58 - (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_IObjectMethod
  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.  
  34.     struct { /* ICLMTH_Set */
  35.       const struct pOS_IClassInfo *imst_Info;
  36.       const struct pOS_TagItem    *imst_Tags;
  37.     } imth_Set;
  38.  
  39.  
  40.     struct { /* ICLMTH_Get */
  41.             ULONG           imgt_ID;
  42.             ULONG          *imgt_Variable;
  43.     } imth_Get;
  44.  
  45.  
  46.     struct { /* IOBMTH_DrawAll/Draw */
  47.       const struct pOS_DrawInfo  *imdr_DrawInfo;
  48.             struct pOS_RastPort  *imdr_RastPort;
  49.       const struct pOS_Rectangle *imdr_LayBox;   /* Layout-Box */
  50.             ULONG                 imdr_Mode;     /* (enum pOS_IObjectDrawMode) */
  51.             ULONG                 imdr_Layout;   /* (enum pOS_IObjectClassLayout) */
  52.             ULONG                 imdr_FrameNum; /* FrameNummer (0,1,2,...) */
  53.       const struct pOS_Rectangle *imdr_ClipBox;  /* nur innerhalb dieser Box anzeigen (darf NULL sein) */
  54.     } imth_Draw;
  55.  
  56.  
  57.     struct { /* IOBMTH_GetIBox */
  58.       const struct pOS_DrawInfo  *imgb_DrawInfo;
  59.             struct pOS_RastPort  *imgb_RastPort;
  60.             struct pOS_IBox      *imgb_IBox;
  61.     } imth_GetIBox;
  62.  
  63.  
  64.     struct { /* IOBMTH_GetObject */
  65.                UBYTE                  imgo_Pad[8];
  66.       __ARID__ struct pOS_DataType   *imgo_Result;
  67.     } imth_GetObj;
  68.  
  69.   } imth_U;
  70.  
  71. };
  72.  
  73.  
  74.  
  75.  
  76. enum pOS_IObjectDrawMode
  77. {
  78.   IOBDMF_Normal=        0x0000,
  79.   IOBDMF_Selected=      0x0001,
  80.   IOBDMF_Disabled=      0x0002,
  81.   IOBDMF_Busy=          0x0004,
  82.   IOBDMF_Border=        0x0008, /* Window-Border-Gad */
  83.   IOBDMF_ActiveWindow=  0x0010, /* Window ist aktiv */
  84.   IOBDMF_Drag=          0x0020, /* Object in DragMode */
  85.   IOBDMF_Drop=          0x0040, /* Object in DropMode */
  86.  
  87.   IOBDMF_Update=        0x8000, /* vergleichbar mit GCLMTHRE_Update,
  88.                                 ** nur die Veränderung zeichnen
  89.                                 */
  90. };
  91.  
  92.  
  93.  
  94. enum pOS_IObjectClassMethods
  95. {
  96.   IOBMTH_Dummy=  0x200,
  97.   IOBMTH_DrawAll,
  98.   IOBMTH_Draw,
  99.   IOBMTH_GetIBox,
  100.   IOBMTH_GetObject,
  101. };
  102.  
  103.  
  104.  
  105. enum pOS_IObjectClassLayout
  106. {
  107.   IOBLAY_HVCenter=  0x00, /* Horiz & Vert zentiert */
  108.   IOBLAY_Left=      0x01, /*  */
  109.   IOBLAY_Right=     0x02, /*  */
  110.   IOBLAY_Top=       0x04, /*  */
  111.   IOBLAY_Bottom=    0x08, /*  */
  112.  
  113.   IOBLAY_DynWidth=  0x10, /* dynamic width => alwasy calc width, else use fix width */
  114.   IOBLAY_DynHeight= 0x20, /*  */
  115. };
  116.  
  117.  
  118. #endif
  119.