#ifndef INTUITION_IMAGECLASS_H
#define INTUITION_IMAGECLASS_H TRUE
/*
** $Filename: intuition/imageclass.h $
** $Release: 2.04 Includes, V37.4 $
** $Revision: 36.3 $
** $Date: 91/11/08 $
**
** Definitions for the image classes
**
** (C) Copyright 1989-1991 Commodore-Amiga, Inc.
** All Rights Reserved
*/


#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif



#define CUSTOMIMAGEDEPTH (-1)



#define GADGET_BOX( g ) ( (struct IBox *) &((struct Gadget *)(g))->LeftEdge )
#define IM_BOX( im ) ( (struct IBox *) &((struct Image *)(im))->LeftEdge )
#define IM_FGPEN( im ) ( (im)->PlanePick )
#define IM_BGPEN( im ) ( (im)->PlaneOnOff )


#define IA_Dummy (TAG_USER + 0x20000)
#define IA_Left (IA_Dummy + 0x01)
#define IA_Top (IA_Dummy + 0x02)
#define IA_Width (IA_Dummy + 0x03)
#define IA_Height (IA_Dummy + 0x04)
#define IA_FGPen (IA_Dummy + 0x05)
 
#define IA_BGPen (IA_Dummy + 0x06)
 
#define IA_Data (IA_Dummy + 0x07)
 
#define IA_LineWidth (IA_Dummy + 0x08)
#define IA_Pens (IA_Dummy + 0x0E)
 
#define IA_Resolution (IA_Dummy + 0x0F)
 



#define IA_APattern (IA_Dummy + 0x10)
#define IA_APatSize (IA_Dummy + 0x11)
#define IA_Mode (IA_Dummy + 0x12)
#define IA_Font (IA_Dummy + 0x13)
#define IA_Outline (IA_Dummy + 0x14)
#define IA_Recessed (IA_Dummy + 0x15)
#define IA_DoubleEmboss (IA_Dummy + 0x16)
#define IA_EdgesOnly (IA_Dummy + 0x17)


#define SYSIA_Size (IA_Dummy + 0x0B)
 
#define SYSIA_Depth (IA_Dummy + 0x0C)
 
#define SYSIA_Which (IA_Dummy + 0x0D)
 
#define SYSIA_DrawInfo (IA_Dummy + 0x18)
 


#define SYSIA_Pens IA_Pens
#define IA_ShadowPen (IA_Dummy + 0x09)
#define IA_HighlightPen (IA_Dummy + 0x0A)





#define SYSISIZE_MEDRES (0)
#define SYSISIZE_LOWRES (1)
#define SYSISIZE_HIRES (2)


#define DEPTHIMAGE (0x00L)
#define ZOOMIMAGE (0x01L)
#define SIZEIMAGE (0x02L)
#define CLOSEIMAGE (0x03L)
#define SDEPTHIMAGE (0x05L) 
#define LEFTIMAGE (0x0AL)
#define UPIMAGE (0x0BL)
#define RIGHTIMAGE (0x0CL)
#define DOWNIMAGE (0x0DL)
#define CHECKIMAGE (0x0EL)
#define MXIMAGE (0x0FL) 



#define IM_DRAW 0x202L 
#define IM_HITTEST 0x203L 
#define IM_ERASE 0x204L 
#define IM_MOVE 0x205L 

#define IM_DRAWFRAME 0x206L 
#define IM_FRAMEBOX 0x207L 
#define IM_HITFRAME 0x208L 
#define IM_ERASEFRAME 0x209L 


#define IDS_NORMAL (0L)
#define IDS_SELECTED (1L) 
#define IDS_DISABLED (2L) 
#define IDS_BUSY (3L) 
#define IDS_INDETERMINATE (4L) 
#define IDS_INACTIVENORMAL (5L) 
#define IDS_INACTIVESELECTED (6L) 
#define IDS_INACTIVEDISABLED (7L) 


#define IDS_INDETERMINANT IDS_INDETERMINATE


struct impFrameBox {
 ULONG MethodID;
 struct IBox *imp_ContentsBox; 
 struct IBox *imp_FrameBox; 
 struct DrawInfo *imp_DrInfo; 
 ULONG imp_FrameFlags;
};

#define FRAMEF_SPECIFY (1<<0) 


struct impDraw {
 ULONG MethodID;
 struct RastPort *imp_RPort;
 struct {
 WORD X;
 WORD Y;
 } imp_Offset;

 ULONG imp_State;
 struct DrawInfo *imp_DrInfo; 

 
 struct {
 WORD Width;
 WORD Height;
 } imp_Dimensions;
};



struct impErase {
 ULONG MethodID;
 struct RastPort *imp_RPort;
 struct {
 WORD X;
 WORD Y;
 } imp_Offset;

 
 struct {
 WORD Width;
 WORD Height;
 } imp_Dimensions;
};


struct impHitTest {
 ULONG MethodID;
 struct {
 WORD X;
 WORD Y;
 } imp_Point;

 
 struct {
 WORD Width;
 WORD Height;
 } imp_Dimensions;
};


#ifndef INTUITION_IOBSOLETE_H
#include <intuition/iobsolete.h>
#endif

#endif
