/*
 * gallery.h
 *
 * [Generated from gallery, 25 September 1996]
 */

#if !defined(__CC_NORCROFT) || !defined(__arm)
  #error You must use the Norcroft ARM Compiler for Sapphire programs
#endif

#pragma include_only_once
#pragma force_top_level

#ifndef __gallery_h
#define __gallery_h

#ifndef __sapphire_h
  #include "sapphire.h"
#endif

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  gallery_eventHandler
 *  gallery_drawBox
 *  gallery_removeBox
 *  gallery_reset
 */

/* --- gallery_eventHandler --- *
 *
 * On entry:	R0 == viewer handle
 *		R1 == pointer to handler routine
 *		R2 == R10 value to pass to handler
 *		R3 == R12 value to pass to handler
 *
 * On exit:	--
 *
 * Use:		Sets up an event handler for the viewer, and adds in
 *		gallery's own special processing for background drawing.
 */

extern routine gallery_eventHandler;

/* --- gallery_drawBox --- *
 *
 * On entry:	R0-R3 == window relative coords of box to plot
 *
 * On exit:	--
 *
 * Use:		Draws a box to indicate tht this item hasn't been
 *		displayed yet.  Use this routine to give a consistant
 *		look to applications which use the gallery.
 */

extern routine gallery_drawBox;

/* --- gallery_removeBox --- *
 *
 * On entry:	R0-R3 == window relative coords of box to remove
 *
 * On exit:	--
 *
 * Use:		Removes a previously draw temporary box.  It is assumed that
 *		the background colour of the viewere is 1.
 */

extern routine gallery_removeBox;

/* --- gallery_reset --- *
 *
 * On entry:	R0 == viewer handle
 *
 * On exit:	--
 *
 * Use:		Resets all the icons in the gallery to their `undrawn' state.
 *		Use this before opening the window etc.
 */

extern routine gallery_reset;

/*----- That's all, folks -------------------------------------------------*/

#endif
