/*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>

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*/
{
   BYTE  DS,Laced,Icons,Level,Screen;
   UBYTE Color[4][3];
   char  Macro[4][80],Name[4][80];
   char  DefaultDir[150],DefPrintDir[150],DefPattern[150];
};


struct IntuitionBase *IntuitionBase;
struct GfxBase *GfxBase;
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;

LONG ARexxSigBit;
APTR ConsoleDevice;
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[150+33],SDirName[150],SFileName[33],SExt[18];
char PDName[150+33],PDirName[150],PFileName[33],PExt[18];
BYTE TopInv,BtmInv;

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*/
{
   FALSE,
   FALSE,
   TRUE,
   0,
   1,
   1,2,11,
   13,13,13,
   0,0,0,
   13,5,0,
   "","","","",
   "Macro 1","Macro 2","Macro 3","Macro 4",
   "Liner:Outlines",
   "Liner:Text"
};

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

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

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

/*End of Variables.c*/
