

;     ******************************************************************
;     *                                                                *
;     *           include file for XColor.library (DevPac)             *
;     *                                                                *
;     *                                                                *
;     *                     by Roger Fischlin                          *
;     *                        Steigerwaldweg 6                        *
;     *                        6450 Hanau 7                            *
;     *                        BR Deutschland                          *
;     *                                                                *
;     *                                                                *
;     *                 This file is public domain !                   *
;     *                                                                *
;     *                                                                *
;     ******************************************************************



	IFND	XCOLOR_I
XCOLOR_I	set	1

	include	"exec/libraries.i"


*
* ColourRequester structure 
*
	rsreset

CR_Screen 		rs.l	1
CR_TextColour		rs.b	1
CR_BackColour		rs.b	1
CR_GBorderColour	rs.b	1
CR_GTextColour		rs.b	1
CR_Flags		rs.l	1
CR_LeftEdge		rs.w	1
CR_TopEdge		rs.w	1
CR_Font		rs.l	1
CR_DefaultEntries	rs.l	1
CR_DefaultColourMap	rs.l	1
CR_JMPWindow		rs.l	1
CR_JMPMessage		rs.l	1
CR_JMPMode		rs.l	1
CR_JMPDraw		rs.l	1
CR_ScreenTitle		rs.l	1
CR_DefaultWTitle	rs.l	1

CR_imClass		rs.l	1
CR_imCode		rs.w	1
CR_imQualifier		rs.w	1
CR_imIAddress		rs.l	1
CR_imMouseX		rs.w	1
CR_imMouseY		rs.w	1
CR_WindowPointer	rs.l	1
CR_UndoSize		rs.l	1
CR_UndoBuffer		rs.l	1
CR_Undo		rs.w	1
CR_Colour		rs.l	1
CR_MemorySize		rs.l	1
CR_Memory		rs.l	1
CR_NewWindow		rs.l	1
CR_Mode		rs.l	1
CR_WindowTitle		rs.l	1
CR_Reserved1		rs.l	1
CR_Reserved2		rs.l	1
CR_Reserved3		rs.l	1
CR_Reserved4		rs.l	1
CR_Reserved5		rs.l	1
CR_Reserved6		rs.l	1
CR_Reserved7		rs.l	1
CR_Reserved8		rs.l	1
CR_Reserved9		rs.l	1
CR_Reserved10		rs.l	1
CR_SIZEOF		rs.b	0

*
* color instead of colour
*

CR_TextColor equ CR_TextColour
CR_BackColor equ CR_BackColour
CR_GBorderColor equ CR_GBorderColour
CR_GTextColor equ CR_GTextColour
CR_DefaultColorMap equ CR_DefaultColourMap
CR_Color equ CR_Colour



*
* Flags
*

FLAG_HSV 		equ	1
FLAG_RGB		equ	0
FLAG_HEX		equ	2
FLAG_NORMAL		equ	0
FLAG_NOWINDOWDEPTH	equ	4
FLAG_NOWINDOWDRAG	equ	8
FLAG_RMBTRAP		equ	16

*
* return codes
*

CR_NOTHING		equ	0
CR_REMAKE		equ	1
CR_NEWMODE		equ	2
CR_EXIT		equ	3 
CR_NEWCOLOUR		equ	4 
CR_UPDATECOLOUR	equ	5

CR_NewCOLOR equ CR_NEWCOLOUR
CR_UPDATECOLOR equ CR_UPDATECOLOUR

*
* modes
*

MODE_COLOUR 		equ 	0
MODE_COPY 		equ 	1
MODE_EXCHG 		equ 	2
MODE_SPREAD 		equ 	3

MODE_COLOR equ MODE_COLOUR


*
* Return codes of ColourRequester
*

CR_OK 		equ 	0
CR_NoMemory		equ	-1
CR_ViewPortused	equ	-2
CR_NoWindow		equ	-3



*
* offsets for RGBtoHSV
*

	rsreset
HSV_H		rs.l	1
HSV_S		rs.l	1
HSV_V		rs.l	1
HSV_SIZEOF		rs.b	0



*
* LVOs of xcolor.library
*


_LVOCheckColour	equ 	-30
_LVOReadRGB4		equ	-36
_LVOWriteRGB4		equ	-42
_LVOColorMapAddress	equ	-48
_LVOExchangeColours	equ	-54
_LVOCopyColours	equ	-60
_LVOSpreadColours	equ	-66
_LVOColourDepth	equ	-72
_LVOColourNumber	equ	-78
_LVOMakeAntique	equ	-84
_LVOMakeBW		equ	-90
_LVOCopyToBuffer	equ	-96
_LVOCopyToColorMap	equ	-102
_LVOHSVtoRGB		equ	-108
_LVORGBtoHSV		equ	-114
_LVOColourRequester	equ	-120

*
* color
*

_LVOCheckColor		equ 	-30
_LVOExchangeColors	equ	-54
_LVOCopyColors		equ	-60
_LVOSpreadColors	equ	-66
_LVOColorDepth		equ	-72
_LVOColorNumber	equ	-78
_LVOColorRequester	equ	-120



*
* XColor structure 
*
*
		rsreset
XColorBase		rs.b	LIB_SIZE
XCb_SegList		rs.l	1
XCb_IntuitionBase	rs.l	1
XCb_GfxBase		rs.l	1
XCb_MathBase		rs.l	1
XCb_List		rs.l	1
XCb_SIZEOF		rs.b	0


XC_VERSION		equ	34

XCOLORNAME	macro
	dc.b	"xcolor.library",0
	even
	endm

	ENDC


CALLXCOLOR	macro
	move.l	_XColorBase,a6
	jsr	_LVO\1(a6)
	endm
