/****************************************************************************
 * This source file was written by Acorn Computers Limited. It is part of   *
 * the "DrawFile" library for rendering RISCOS Draw files from applications *
 * in C. It may be used freely in the creation of programs for Archimedes.  *
 * It should be used with Acorn's C Compiler Release 2 or later.            *
 *                                                                          *
 * No support can be given to programmers using this code and, while we     *
 * believe that it is correct, no correspondence can be entered into        *
 * concerning behaviour or bugs.                                            *
 *                                                                          *
 * Upgrades of this code may or may not appear, and while every effort will *
 * be made to keep such upgrades upwards compatible, no guarantees can be   *
 * given.                                                                   *
 ***************************************************************************/

/* -> h.DrawFile2 : general internal header for DrawFile module
 *
 * History:
 * Version 0.0: 22 Nov 88, DAHE: created
 * Version 0.1: 23 Nov 88, DAHE: first working version
 * Version 0.2: 15 Feb 89, DAHE: merged with stubs of other Draw headers
 *
 * Intended only to be included by the DrawFile code itself, not by clients
 * of the module.
 *
 * Header containing references based on definitions in DrawLevel0 and
 * DrawLevel1
 */

/*============================= Global data ==================================*/
extern Draw_allocate Draw_allocator;
extern Draw_extend   Draw_extender;
extern Draw_free     Draw_freer;
extern Draw_unknown_object_handler dr_unknown_handler;

/*============================ Private functions ============================*/

/* Functions defined in c.drawLevel0 or c.drawLevel1 */
BOOL dr_findFontTable(Draw_diag diag, draw_objptr *hdrptr);
BOOL dr_mergeFontTables(Draw_diag *diag1, draw_objptr fontTable1,
                        Draw_diag  diag2, draw_objptr fontTable2,
                        int *table, Draw_error *error);

/* Function defined in c.drawFiles */
BOOL  do_objects(draw_objptr hdrptr,draw_objptr limit, int orgx,int orgy,
                 int clip_x0,int clip_y0,int clip_x1,int clip_y1,
                 Draw_error *err);
