/*-- AutoRev header do NOT edit!
*
*   Program         :   View.h
*   Copyright       :   Copyright © 1991-92 Jaba Development
*   Author          :   Jan van den Baard
*   Creation Date   :   04-Apr-92
*   Current version :   2.0
*   Translator      :   Dice v2.06.40
*
*   REVISION HISTORY
*
*   Date          Version         Comment
*   ---------     -------         ------------------------------------------
*   04-Apr-92     2.0             Main program header file. (rewrite)
*
*-- REV_END --*/

/*
 * Include the system headers
 */
#include <exec/types.h>
#include <exec/memory.h>
#include <exec/devices.h>
#include <dos/dos.h>
#include <dos/dostags.h>
#include <dos/rdargs.h>
#include <libraries/gadtools.h>
#include <libraries/reqtools.h>
#include <libraries/nofrag.h>
#include <libraries/ppbase.h>
#include <libraries/commodities.h>
#include <devices/input.h>
#include <devices/inputevent.h>
#include <devices/console.h>
#include <devices/keymap.h>
#include <devices/printer.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/sghooks.h>
#include <hardware/custom.h>
#include <hardware/dmabits.h>
#include <graphics/displayinfo.h>
#include <graphics/gfxmacros.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>

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

#include <clib/exec_protos.h>
#include <clib/dos_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/reqtools_protos.h>
#include <clib/nofrag_protos.h>
#include <clib/powerpacker_protos.h>
#include <clib/commodities_protos.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_stdio_protos.h>
#include <clib/utility_protos.h>

#define __STKARGS__
#include "ascii.h"

#define Prototype   extern
#define Local       static

#include "Protos.h"

#define ESC         0x1b
#define CSI         0x9b
#define FF          0x0c

#define MaxCol()            ( vwWindow->Width / vwFont->tf_XSize )
#define ClrLin()            SetAPen( vwRPort, 2 ); RectFill( vwRPort, 0, 0, vwWindow->Width, vwFont->tf_YSize - 1 );
#define ClrBlk()            setmem( &vwBlocks[0], 10 * sizeof( struct TextBlock ), NULL );
#define CxOn( b )           ActivateCxObj( b, TRUE );
#define CxOff( b )          ActivateCxObj( b, FALSE );
#define Busy()              rtSetWaitPointer( vwWindow );
#define Ready()             ClearPointer( vwWindow );

#define CX_VERSION          "2.0"

#ifndef __DETACH
#define CX_NAME             "View"
#else
#define CX_NAME             "ViewD"
#endif

#define CX_DESCRIPTION      "Ascii text file viewer."
#define CX_COPYRIGHT        "© 1991-92 Jaba Development"
#define CX_TITLE            CX_NAME " " CX_VERSION ", " CX_COPYRIGHT

#define CXC_VIEW            1
#define CXC_FLUSH           2
#define CXC_QUIT            3

#define FR_SAVE             0
#define FR_LOAD             1

#define SR_FORWARD          0
#define SR_BACKWARD         1

#define GT_PERC             0
#define GT_LINE             1

/*
 * Three different print modes possible.
 */
#define PRT_FILE    0
#define PRT_PAGE    1
#define PRT_BLOCK   2

/*
 * The structure used to keep track of text-block markers.
 */
struct TextBlock {
    struct Line     *TopLine;
    struct Line     *BottomLine;
};
