1 #ifndef INTUITION_IMAGECLASS_H
    2 #define INTUITION_IMAGECLASS_H
    3 
    4 /*
    5 	intuition image class definitions (V50)
    6 
    7 	Copyright © 2002-2008 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef INTUITION_INTUITION_H
   11 # include <intuition/intuition.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 #define CUSTOMIMAGEDEPTH (-1)
   18 
   19 
   20 #define GADGET_BOX(g)  ((struct IBox *) &((struct Gadget *)(g))->LeftEdge)
   21 #define IM_BOX(im)     ((struct IBox *) &((struct Image *)(im))->LeftEdge)
   22 #define IM_FGPEN(im)   ((im)->PlanePick)
   23 #define IM_BGPEN(im)   ((im)->PlaneOnOff)
   24 
   25 
   26 #define IA_Dummy             (TAG_USER + 0x20000)
   27 #define IA_Left              (IA_Dummy + 1)
   28 #define IA_Top               (IA_Dummy + 2)
   29 #define IA_Width             (IA_Dummy + 3)
   30 #define IA_Height            (IA_Dummy + 4)
   31 #define IA_FGPen             (IA_Dummy + 5)
   32 #define IA_BGPen             (IA_Dummy + 6)
   33 #define IA_Data              (IA_Dummy + 7)
   34 #define IA_LineWidth         (IA_Dummy + 8)
   35 
   36 #define SYSIA_Size           (IA_Dummy + 11)
   37 #define SYSIA_Depth          (IA_Dummy + 12)
   38 #define SYSIA_Which          (IA_Dummy + 13)
   39 
   40 #define IA_Pens              (IA_Dummy + 14)
   41 #define IA_Resolution        (IA_Dummy + 15)
   42 
   43 #define IA_APattern          (IA_Dummy + 16)
   44 #define IA_APatSize          (IA_Dummy + 17)
   45 #define IA_Mode              (IA_Dummy + 18)
   46 #define IA_Font              (IA_Dummy + 19)
   47 #define IA_Outline           (IA_Dummy + 20)
   48 #define IA_Recessed          (IA_Dummy + 21)
   49 #define IA_DoubleEmboss      (IA_Dummy + 22)
   50 #define IA_EdgesOnly         (IA_Dummy + 23)
   51 
   52 #define SYSIA_DrawInfo       (IA_Dummy + 24)
   53 
   54 #define SYSIA_ReferenceFont  (IA_Dummy + 25)
   55 
   56 #define IA_SupportsDisable   (IA_Dummy + 26)
   57 #define IA_FrameType         (IA_Dummy + 27)
   58 
   59 /*** V44 ***/
   60 
   61 #define IA_Underscore        (IA_Dummy + 28)
   62 #define IA_Scalable          (IA_Dummy + 29)
   63 #define IA_ActivateKey       (IA_Dummy + 30)
   64 #define IA_Screen            (IA_Dummy + 31)
   65 #define IA_Precision         (IA_Dummy + 32)
   66 
   67 /*** V50 ***/
   68 
   69 #define SYSIA_WithBorder     (IA_FGPen)
   70 #define SYSIA_Style          (IA_BGPen)
   71 
   72 #define SYSISTYLE_NORMAL   0
   73 #define SYSISTYLE_GADTOOLS 1
   74 
   75 
   76 /*** OBSOLETE ***/
   77 
   78 #define SYSIA_Pens           (IA_Pens)
   79 #define IA_ShadowPen         (IA_Dummy + 9)
   80 #define IA_HighlightPen      (IA_Dummy + 10)
   81 
   82 
   83 #define SYSISIZE_MEDRES  (0)
   84 #define SYSISIZE_LOWRES  (1)
   85 #define SYSISIZE_HIRES   (2)
   86 
   87 
   88 #define DEPTHIMAGE   (0x00)
   89 #define ZOOMIMAGE    (0x01)
   90 #define SIZEIMAGE    (0x02)
   91 #define CLOSEIMAGE   (0x03)
   92 #define SDEPTHIMAGE  (0x05)
   93 #define LEFTIMAGE    (0x0A)
   94 #define UPIMAGE      (0x0B)
   95 #define RIGHTIMAGE   (0x0C)
   96 #define DOWNIMAGE    (0x0D)
   97 #define CHECKIMAGE   (0x0E)
   98 #define MXIMAGE      (0x0F)
   99 #define MENUCHECK    (0x10)
  100 #define AMIGAKEY     (0x11)
  101 
  102 
  103 #define FRAME_DEFAULT      0
  104 #define FRAME_BUTTON       1
  105 #define FRAME_RIDGE        2
  106 #define FRAME_ICONDROPBOX  3
  107 
  108 
  109 #define IM_DRAW         0x202
  110 #define IM_HITTEST      0x203
  111 #define IM_ERASE        0x204
  112 #define IM_MOVE         0x205
  113 
  114 #define IM_DRAWFRAME    0x206
  115 #define IM_FRAMEBOX     0x207
  116 #define IM_HITFRAME     0x208
  117 #define IM_ERASEFRAME   0x209
  118 #define IM_DOMAINFRAME  0x20A
  119 
  120 
  121 #define IDS_NORMAL            (0L)
  122 #define IDS_SELECTED          (1L)
  123 #define IDS_DISABLED          (2L)
  124 #define IDS_BUSY              (3L)
  125 #define IDS_INDETERMINATE     (4L)
  126 #define IDS_INACTIVENORMAL    (5L)
  127 #define IDS_INACTIVESELECTED  (6L)
  128 #define IDS_INACTIVEDISABLED  (7L)
  129 #define IDS_SELECTEDDISABLED  (8L)
  130 
  131 /* Typo fix */
  132 
  133 #define IDS_INDETERMINANT  IDS_INDETERMINATE
  134 
  135 
  136 struct impFrameBox
  137 {
  138 	ULONG            MethodID;
  139 	struct IBox     *imp_ContentsBox;
  140 	struct IBox     *imp_FrameBox;
  141 	struct DrawInfo *imp_DrInfo;
  142 	ULONG            imp_FrameFlags;
  143 };
  144 
  145 #define FRAMEF_SPECIFY  (1<<0)
  146 
  147 
  148 struct impDraw
  149 {
  150 	ULONG            MethodID;
  151 	struct RastPort *imp_RPort;
  152 
  153 	struct
  154 	{
  155 		WORD X;
  156 		WORD Y;
  157 	}                imp_Offset;
  158 
  159 	ULONG            imp_State;
  160 	struct DrawInfo *imp_DrInfo;
  161 
  162 	struct
  163 	{
  164 		WORD Width;
  165 		WORD Height;
  166 	}                imp_Dimensions;
  167 };
  168 
  169 struct impErase
  170 {
  171 	ULONG            MethodID;
  172 	struct RastPort *imp_RPort;
  173 
  174 	struct
  175 	{
  176 		WORD X;
  177 		WORD Y;
  178 	}                imp_Offset;
  179 
  180 	struct
  181 	{
  182 		WORD Width;
  183 		WORD Height;
  184 	}                imp_Dimensions;
  185 };
  186 
  187 struct impHitTest
  188 {
  189 	ULONG MethodID;
  190 
  191 	struct
  192 	{
  193 		WORD X;
  194 		WORD Y;
  195 	}     imp_Point;
  196 
  197 	struct
  198 	{
  199 		WORD Width;
  200 		WORD Height;
  201 	}     imp_Dimensions;
  202 };
  203 
  204 
  205 struct impDomainFrame
  206 {
  207 	ULONG            MethodID;
  208 	struct DrawInfo *imp_DrInfo;
  209 	struct RastPort *imp_RPort;
  210 	LONG             imp_Which;
  211 	struct IBox      imp_Domain;
  212 	struct TagItem  *imp_Attrs;
  213 };
  214 
  215 
  216 #define IDOMAIN_MINIMUM  (0)
  217 #define IDOMAIN_NOMINAL  (1)
  218 #define IDOMAIN_MAXIMUM  (2)
  219 
  220 
  221 #pragma pack()
  222 
  223 #ifndef INTUITION_IOBSOLETE_H
  224 # include <intuition/iobsolete.h>
  225 #endif
  226 
  227 #endif /* INTUITION_IMAGECLASS_H */