/*Variables.c-This module contains no code, only data.	All the other modules*/
/*that reference global variables reference data that is stored here.*/

#include <exec/types.h>
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <devices/keymap.h>
#include <devices/clipboard.h>
#include <libraries/asl.h>
#include <libraries/gadtools.h>
#include <graphics/displayinfo.h>

struct LineItem 	      /*'Liner structure definition*/
   {
   struct LineItem *NextItem,*PrevItem;
   UBYTE Level,ItemNumber;
   char Text[80];
   BYTE Highlighted,cont,Future[10];
   };

struct LinerPrefs	      /*'Liner preferences structure*/
{
   ULONG ScreenType;
   BYTE  DS,Icons,Level;
   UBYTE Color[4][3];
   char  Macro[4][80],Name[4][80];
   char  DefaultDir[150],DefPrintDir[150];
   BOOL  Exists;
   char  Future[64];
};

   /*Used in the drawing of bevel boxes*/
struct TagItem beveltag[]=
{
   {GT_VisualInfo,NULL},
   {TAG_DONE,NULL}
};

   /*Topaz 8*/
struct TextAttr Topaz=
{
   "topaz.font",
   8,
   0L,
   0L
};

struct TextAttr Topaz11=
{
   "topaz.font",
   11,
   0L,
   0L
};

struct IntuitionBase *IntuitionBase;
struct GfxBase *GfxBase;
struct AslBase *AslBase;
struct GadToolsBase *GadToolsBase;

ULONG DosBase,IconBase;

struct IOStdReq *consoleWriteMsg,*consoleReadMsg;
struct Port *consoleWritePort,*consoleReadPort;
struct IOClipReq ClipboardIO;
struct MsgPort clipboardMsgPort;
struct Process *ThisProc;

struct Screen *Screen;
struct Window *Window,*AboutWindow;
struct KeyMap keymap;
APTR VisInfo;

LONG ARexxSigBit;
struct LineItem *CharItem,*StartIItem,*EndIItem,*ClipStart,*ClipEnd;
int ButtonState,PtrX,PtrY,LastX,LastY,InvsMode,StartChar,EndChar,InvY,EndIY;
int BLastX,ClipMode,ErrorInTitle=FALSE;
UBYTE Laced,RowsInScreen,StartingLevel,Modified,Odd;
char Indent=0;
char FileName[LONG_FSIZE+LONG_DSIZE],SDirName[LONG_DSIZE],SFileName[LONG_FSIZE];
char PDName[LONG_FSIZE+LONG_DSIZE],PDirName[LONG_DSIZE],PFileName[LONG_FSIZE];
BYTE TopInv,BtmInv;

UBYTE FontWidth;

UBYTE OLCPos[6][6]=  /*Position of the start of the line for each level*/
{			/*in each Starting Level mode...*/
   {11,15,19,23,27,31},
   {7,11,15,19,23,27},
   {7,11,15,19,23,27},
   {7,11,15,19,23,27},
   {7,11,15,19,23,27},
   {7,11,15,19,23,27}
};

struct LinerPrefs prefs = /*The preferences, with defaults ready to go*/
{
   HIRES_KEY,
   FALSE,
   TRUE,
   0,
   1,2,11,
   13,13,13,
   0,0,0,
   13,5,15,
   "","","","",
   "Macro 1","Macro 2","Macro 3","Macro 4",
   "Liner:Outlines",
   "Liner:Text",
   FALSE
};

struct FileRequester *MainReq,*PTDReq;

extern UBYTE MaxNumOnLevel[7]=
{0,53,53,53,53,53,53};

char ScreenTitle[18] = {" 'Liner V2.11:  "};

struct LineItem *FirstItem,*LastItem,*CurrentItem,*FirstScrnItem,*ScrnBtm;
int CurX,CurY,DispRows;

/*Used with the asl.library file requestor*/
char SaveHail[25]="Save:  choose a name...";
char OpenHail[25]="Open:  choose a file...";
char PrintHail[26]="Print:  choose a name...";

/*~~~End of Variables.c*/
