[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

    IFND INTUITION_IMAGECLASS_I
INTUITION_IMAGECLASS_I SET 1
**
**  $Filename: intuition/imageclass.i $
**  $Release: 2.04 Includes, V37.4 $
**  $Revision: 36.5 $
**  $Date: 91/11/08 $
**
**  Definitions for the image classes
**
**  (C) Copyright 1989-1999 Amiga, Inc.
**	    All Rights Reserved
**

    IFND UTILITY_TAGITEM_I
    INCLUDE "utility/tagitem.i"
    ENDC

*
* NOTE:  intuition/iobsolete.i is included at the END of this file!
*

CUSTOMIMAGEDEPTH	EQU (-1)
* if image.Depth is this, it's a new Image class object

******************************************************
IMAGE_ATTRIBUTES	EQU (TAG_USER+$20000)

IA_Left		EQU (IMAGE_ATTRIBUTES+$0001)
IA_Top		EQU (IMAGE_ATTRIBUTES+$0002)
IA_Width	EQU (IMAGE_ATTRIBUTES+$0003)
IA_Height	EQU (IMAGE_ATTRIBUTES+$0004)
IA_FGPen	EQU (IMAGE_ATTRIBUTES+$0005)
		    ; IA_FGPen also means "PlanePick"
IA_BGPen	EQU (IMAGE_ATTRIBUTES+$0006)
		    ; IA_BGPen also means "PlaneOnOff"
IA_Data		EQU (IMAGE_ATTRIBUTES+$0007)
		    ; bitplanes, for classic image,
		    ; other image classes may use it for other things
IA_LineWidth	EQU (IMAGE_ATTRIBUTES+$0008)
IA_Pens		EQU (IMAGE_ATTRIBUTES+$000E)
		    ; pointer to UWORD pens[],
		    ; ala DrawInfo.Pens, MUST be
		    ; terminated by ~0.  Some classes can
		    ; choose to have this, or SYSIA_DrawInfo,
		    ; or both.
IA_Resolution	EQU (IMAGE_ATTRIBUTES+$000F)
		    ; packed uwords for x/y resolution into a longword
		    ; ala DrawInfo.Resolution

* see class documentation to learn which
* classes recognize these
IA_APattern	EQU (IMAGE_ATTRIBUTES+$0010)
IA_APatSize	EQU (IMAGE_ATTRIBUTES+$0011)
IA_Mode		EQU (IMAGE_ATTRIBUTES+$0012)
IA_Font		EQU (IMAGE_ATTRIBUTES+$0013)
IA_Outline	EQU (IMAGE_ATTRIBUTES+$0014)
IA_Recessed	EQU (IMAGE_ATTRIBUTES+$0015)
IA_DoubleEmboss	EQU (IMAGE_ATTRIBUTES+$0016)
IA_EdgesOnly	EQU (IMAGE_ATTRIBUTES+$0017)

* "sysiclass" attributes
SYSIA_Size	EQU (IMAGE_ATTRIBUTES+$000B)
		    ; EQU's below
SYSIA_Depth	EQU (IMAGE_ATTRIBUTES+$000C)
		    ; this is unused by Intuition.  SYSIA_DrawInfo
		    ; is used instead for V36
SYSIA_Which	EQU (IMAGE_ATTRIBUTES+$000D)
		    ; see EQU's below
SYSIA_DrawInfo	EQU (IMAGE_ATTRIBUTES+$0018)
		    ; pass to sysiclass, please

*  obsolete: don't use these, use IA_Pens
SYSIA_Pens	EQU IA_Pens
IA_ShadowPen	EQU (IMAGE_ATTRIBUTES+$0009)
IA_HighlightPen	EQU (IMAGE_ATTRIBUTES+$000A)

* next attribute: (IMAGE_ATTRIBUTES+$0019)
******************************************************

* data values for SYSIA_Size
SYSISIZE_MEDRES	EQU (0)
SYSISIZE_LOWRES	EQU (1)
SYSISIZE_HIRES	EQU (2)

*
* SYSIA_Which tag data values:
* Specifies which system gadget you want an image for.
* Some numbers correspond to internal Intuition #defines
DEPTHIMAGE	EQU ($00)
ZOOMIMAGE	EQU ($01)
SIZEIMAGE	EQU ($02)
CLOSEIMAGE	EQU ($03)
SDEPTHIMAGE	EQU ($05)		; screen depth gadget
LEFTIMAGE	EQU ($0A)
UPIMAGE		EQU ($0B)
RIGHTIMAGE	EQU ($0C)
DOWNIMAGE	EQU ($0D)
CHECKIMAGE	EQU ($0E)
MXIMAGE		EQU ($0F)	; mutual exclude "button"

* image message id's
IM_DRAW		EQU ($0202)	; draw yourself, with "state"
IM_HITTEST	EQU ($0203)	; return TRUE if click hits image
IM_ERASE	EQU ($0204)	; erase yourself
IM_MOVE		EQU ($0205)	; draw new and erase old, smoothly

IM_DRAWFRAME	EQU ($0206)	; draw with specified dimensions
IM_FRAMEBOX	EQU ($0207)	; get recommended frame around some box
IM_HITFRAME	EQU ($0208)	; hittest with dimensions
IM_ERASEFRAME	EQU ($0209)	; hittest with dimensions

* image draw states or styles, for IM_DRAW
IDS_NORMAL		EQU (0)
IDS_SELECTED		EQU (1)	; for selected gadgets
IDS_DISABLED		EQU (2)	; for disabled gadgets
IDS_BUSY		EQU (3)	; for future functionality
IDS_INDETERMINATE	EQU (4)	; for future functionality
IDS_INACTIVENORMAL	EQU (5)	; normal, in inactive window border
IDS_INACTIVESELECTED	EQU (6)	; selected, in inactive border
IDS_INACTIVEDISABLED	EQU (7)	; disabled, in inactive border

* oops, please forgive spelling error by jimm
IDS_INDETERMINANT EQU IDS_INDETERMINATE

* IM_FRAMEBOX
 STRUCTURE impFrameBox,4		; starts with ULONG MethodID
    APTR	impf_ContentsBox	; input: relative box of contents
    APTR	impf_FrameBox	; output: rel. box of encl frame
    APTR	impf_DrInfo	; NB: May be NULL
    LONG	impf_FrameFlags

; Make do with the dimensions of FrameBox provided.
FRAMEB_SPECIFY	EQU (0)
FRAMEF_SPECIFY	EQU (1)


* IM_DRAW, IM_DRAWFRAME
 STRUCTURE impDraw,4		; starts with ULONG MethodID
    APTR	impd_RPort
    WORD	impd_OffsetX
    WORD	impd_OffsetY
    ULONG	impd_State
    APTR	impd_DrInfo	; NB: May be NULL
    ; these parameters only valid for IM_DRAWFRAME
    WORD	impd_DimensionsWidth
    WORD	impd_DimensionsHeight

* IM_ERASE, IM_ERASEFRAME
* NOTE: This is a subset of impDraw
 STRUCTURE impErase,4		; starts with ULONG MethodID
    APTR	impe_RPort
    WORD	impe_OffsetX
    WORD	impe_OffsetY
    ; these parameters only valid for IM_ERASEFRAME
    WORD	impe_DimensionsWidth
    WORD	impe_DimensionsHeight

* IM_HITTEST, IM_HITFRAME
 STRUCTURE impHitTest,4		; starts with ULONG MethodID
    ; these parameters only valid for IM_ERASEFRAME
    WORD	imph_PointX
    WORD	imph_PointY
    ; these parameters only valid for IM_HITFRAME
    WORD	imph_DimensionsWidth
    WORD	imph_DimensionsHeight


* Include obsolete identifiers:
	IFND	INTUITION_IOBSOLETE_I
	INCLUDE "intuition/iobsolete.i"
	ENDC

    ENDC