/*-- AutoRev header do NOT edit!
*
*   Program         :   view.h
*   Copyright       :   © 1991 Jaba Development
*   Author          :   Jan van den Baard
*   Creation Date   :   20-Apr-91
*   Current version :   1.0
*   Translator      :   DICE v2.6
*
*   REVISION HISTORY
*
*   Date          Version         Comment
*   ---------     -------         ------------------------------------------
*   20-Apr-91     1.0             Header for the main program.
*
*-- REV_END --*/

/*
 * include a whole bunch of headers.
 */
#include <exec/types.h>
#include <exec/memory.h>
#include <exec/interrupts.h>
#include <exec/io.h>
#include <exec/devices.h>
#include <dos/dos.h>
#include <dos/dostags.h>
#include <dos/rdargs.h>
#include <libraries/gadtools.h>
#include <libraries/asl.h>
#include <libraries/nofrag.h>
#include <libraries/ppbase.h>
#include <devices/input.h>
#include <devices/inputevent.h>
#include <devices/console.h>
#include <devices/keymap.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>

#ifndef  abs
#define  abs
#endif

#include <string.h>
#include <stdlib.h>

/*
 * Include all neacecary proto-types because the usage of
 * "__regargs" with DICE requires this.
 */
#include <clib/exec_protos.h>
#include <clib/dos_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/asl_protos.h>
#include <clib/nofrag_protos.h>      /* my very own library */
#include <clib/powerpacker.h>
#include <clib/intuition_protos.h>
#include <clib/alib_protos.h>
#include <clib/input_protos.h>
#include <clib/console_protos.h>
#include <clib/graphics_protos.h>
#include <clib/alib_protos.h>
#include <clib/alib_stdio_protos.h>

#define __STKARGS__

#include "ascii.h"                  /* the ASCII-File routines */

/*
 * three different print modes.
 */
#define     PRT_FILE        0x0000
#define     PRT_PAGE        0x0001
#define     PRT_BLOCK       0x0002

/*
 * data structure which get's passed to View it's input-handler
 * when it's active.
 */
struct HandlerMuck {
    struct Task *ViewTask;      /* the main task         */
    ULONG        ViewSigMask;   /* mask to signal        */
    BOOL         View;          /* TRUE if LALT+LAMIGA+V */
    BOOL         Quit;          /* TRUE if LALT+LAMIGA+Q */
    BOOL         Flush;         /* TRUE if LALT+LAIMGA+F */
};

/*
 * data structure used to keep track of text-block markers.
 */
struct TextBlock {
    struct Line *TopLine;       /* Top most line in the block    */
    struct Line *BottomLine;    /* Bottom most line in the block */
};
