/* $Revision Header *** Header built automatically - do not edit! ***********
 *
 *	(C) Copyright 1992 by Torsten Jürgeleit
 *
 *	Name .....: pointer.h
 *	Created ..: Wednesday 08-Jan-92 22:34:45
 *	Revision .: 1
 *
 *	Date        Author                 Comment
 *	=========   ====================   ====================
 *	11-Jul-92   Torsten Jürgeleit      now visible gadgets can be removed
 *					   by changing mouse pointer to
 *					   busy pointer
 *	08-Jan-92   Torsten Jürgeleit      Created this file!
 *
 ****************************************************************************
 *
 *	Structures, prototypes and pragmas for mouse pointer functions
 *
 * $Revision Header ********************************************************/

#ifndef	ISUP_MOUSE_POINTER_H
#define	ISUP_MOUSE_POINTER_H

	/* Structures for mouse pointer */

struct PointerData {
	UBYTE	pd_Width;
	UBYTE	pd_Height;
	BYTE	pd_XOffset;
	BYTE	pd_YOffset;
	UWORD	*pd_Data;
};
struct PointerList {
	LONG	pl_ID;		/* id = 'ISUP' */
	UBYTE	pl_Width;
	UBYTE	pl_Height;
	BYTE	pl_XOffset;
	BYTE	pl_YOffset;
	UWORD	*pl_Data;
	UWORD	*pl_Buffer;	/* if non NULL then chipmem buffer was allocated */
	LONG	pl_BufferSize;
	struct Menu         *pl_Menu;		/* saved menu before installing busy pointer */
	struct MinList      pl_GadgetList;	/* saved GadgetLists before installing busy pointer */
	struct PointerList  *pl_Next;
};
	/* Global prototypes */

VOID change_mouse_pointer(struct Window  *win, struct PointerData  *pd,
						       BOOL remove_gadgets);
VOID restore_mouse_pointer(struct Window  *win);
VOID move_mouse_pointer(struct Window  *win, SHORT x, SHORT y, BOOL button);

	/* Global pragmas (Aztec C v5.2a) */

#pragma intfunc(change_mouse_pointer(a0,a1,d0))
#pragma intfunc(restore_mouse_pointer(a0))
#pragma intfunc(move_mouse_pointer(a0,d0,d1,d2))

#endif   /* ISUP_MOUSE_POINTER_H */
