(* Title:       pointer.h 
 * Purpose:     Setting of the pointer shape
 *
 *)

# ifndef __pointer_h
# define __pointer_h

# ifndef __sprite_h
# include "sprite.h"
# endif

# ifndef __os_h
# include "os.h"
# endif


const wimp_spritearea = sprite_area_ptr(-1);


(* -------------------------- pointer_set_shape ---------------------------
 * Description:   Sets pointer shape 2, to sprite, from sprite area
 * 
 * Parameters:    sprite_area* -- area where sprite is to be found
 *                sprite_id* -- identity of the sprite
 *                int, int -- active point for pointer
 * Returns:       possible error condition.
 * Other Info:    typical use is to change pointer shape on entering/leaving
 *                application window (appropriate events are returned from
 *                wimp_poll.
 *
 *)
procedure pointer_set_shape(area : sprite_area_ptr;
                        id : sprite_id_ptr;
                        x, y : integer) : os_error; extern;


(* ------------------------- pointer_reset_shape ---------------------------
 * Description:   Resets pointer shape to shape 1.
 *
 * Parameters:    void
 * Returns:       void
 * Other Info:    Typically should be called when leaving application 
 *                window.
 *
 *)
procedure pointer_reset_shape; extern;

#endif

(* end pointer.h *)
