/*
 * draw.h
 *
 * [Generated from draw, 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 __draw_h
#define __draw_h

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

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  draw_render
 *  draw_checkValid
 */

/* --- draw_render --- *
 *
 * On entry:	R0 == scale to plot drawfile (16.16 form)
 *		R1 == pointer to a redraw block
 *		R2 == pointer to drawfile in memory
 *		R3 == size of drawfile block
 *
 * On exit:	--
 *
 * Use:		Renders a DrawFile in a window.  Objects which aren't
 *		recognised are not rendered.  The objects which are handled
 *		are as follows:
 *
 *		* Font table objects
 *		* Text objects (in fonts, or in system font)
 *		* Draw path objects, filled and unfilled, including
 *		  dotted outlines
 *		* Group objects
 *		* Tagged objects
 *		* Sprite objects, rendered as well as we can make it
 *		* Transformed text, only on RISC OS 3
 *		* Transformed sprite, only on RISC OS 3
 */

extern routine draw_render;

/* --- draw_checkValid --- *
 *
 * On entry:	R0 == pointer to start of drawfile
 *
 * On exit:	May return an error
 *
 * Use:		Checks whether a drawfile is basically sound.  This checking
 *		isn't compulsory, and just checks the initial word and the
 *		format version number -- nothing very exciting.
 */

extern routine draw_checkValid;

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

#endif
