'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
' Constants that are required somewhere in the code.
'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
	' Used for justification type in OkMessageBox and OkCancelMessageBox
	' routines.
	CONST FLUSHLEFT = 0
	CONST FLUSHRIGHT = 1
	CONST CENTERED = 2

	CONST SINGLEBORDER = 0        ' Single-line border for buttons and boxes
	CONST DOUBLEBORDER = 1        ' Double-line border for buttons and boxes

	CONST STYLE3D = 0
	CONST STYLE2D = 1

	CONST EMmoved = -1            ' getEvent code: Mouse Moved
	CONST EMpressedLeft = -2      ' getEvent code: Mouse left button pressed
	CONST EMpressedRight = -3     ' getEvent code: Mouse right button pressed
	CONST EMpressedCenter = -4    ' getEvent code: Mouse center button pressed
	CONST EMreleasedLeft = -5     ' getEvent code: Mouse left button releases
	CONST EMreleasedRight = -6    ' getEvent code: Mouse right button released
	CONST EMreleasedCenter = -7   ' getEvent code: Mouse center button released
	CONST EKpressed = -8          ' getEvent code: Key on keyboard pressed

	CONST F1 = 15104              ' Unique integers (scan codes) for special
	CONST F2 = 15360              ' keys.  May be used to refer to codes returned
	CONST F3 = 15616              ' by getEvent function by name.
	CONST F4 = 15872
	CONST F5 = 16128
	CONST F6 = 16384
	CONST F7 = 16640
	CONST F8 = 16896
	CONST F9 = 17152
	CONST F10 = 17408
	CONST UPARROW = 18432
	CONST DOWNARROW = 20480
	CONST LEFTARROW = 19200
	CONST RIGHTARROW = 19712
	CONST HOMEKEY = 18176
	CONST ENDKEY = 20224
	CONST PGUP = 18688
	CONST PGDN = 20736
	CONST INSERT = 20992
	CONST DELETE = 21248

	CONST NormalAttr = 0          ' Constants defining file attributes for
	CONST ReadOnlyAttr = 1        ' QBdisk routines.
	CONST HiddenAttr = 2
	CONST SystemAttr = 4
	CONST VolLabelAttr = 8
	CONST SubdirAttr = 16
	CONST ArchiveAttr = 32
	CONST AllFilesAttr = NormalAttr + ReadOnlyAttr + HiddenAttr + SystemAttr + VolLabelAttr + SubdirAttr + ArchiveAttr

	TYPE FileInfoType             ' Type for FileInfo function.
		fattribute AS INTEGER
		fattrstr AS STRING * 6
		ftime AS STRING * 10
		fdate AS STRING * 10
		fsize AS LONG
		fname AS STRING * 13
	END TYPE

'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
' DECLARE statements for all the QBSCR routines
'ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
	DECLARE FUNCTION BlockSize% (l%, r%, t%, b%)
	DECLARE FUNCTION CalcScrollPos% (listSize%, numDivisions%, currentPos%)
	DECLARE FUNCTION ColorChk ()
	DECLARE FUNCTION EgaPresent% ()
	DECLARE FUNCTION GetBackground% (row%, col%)
	DECLARE FUNCTION GetForeground% (row%, col%)
	DECLARE FUNCTION GetVideoSegment! ()
	DECLARE FUNCTION MakeMenu% (choice$(), numOfChoices%, justify$, leftColumn!, rightColumn!, row%, marker$, divider$, fg%, bg%, hfg%, hBG%, qfg%, qbg%, useMouse%)
	DECLARE FUNCTION OkCancelMessageBox% (x1%, y1%, x2%, y2%, st$(), numLines%, justify%, fg%, bg%, frType%, shadow%, explode%, label$, useMouse%, buttonBorder%, buttonStyle%)
	DECLARE FUNCTION rgbRGB% (red%, green%, blue%)
	DECLARE FUNCTION SubMenu% (choice$(), currentMenu%, numOfChoices%, justify$, leftColumn!, rightColumn!, row%, marker$, divider$, fg%, bg%, hfg%, hBG%, qfg%, qbg%, useMouse%, mx%, my%)
	DECLARE FUNCTION ScreenBlank$ (delay, useMouse%)
	DECLARE FUNCTION SelectList$ (items$(), numItems%, topRow%, botRow%, leftCol%, maxWidth%, normFG%, normBG%, hiFG%, hiBG%, frameType%, explode%, shadow%, label$, useMouse%)
	DECLARE FUNCTION VgaPresent% ()
	DECLARE SUB Banner (st$, row%)
	DECLARE SUB BlinkOff ()
	DECLARE SUB BlinkOn ()
	DECLARE SUB BlockRestore (l%, r%, t%, b%, scrArray%(), segment!)
	DECLARE SUB BlockSave (l%, r%, t%, b%, scrArray%(), segment!)
	DECLARE SUB BuildScreen (file$, mode%)
	DECLARE SUB Center (st$, row%)
	DECLARE SUB ClrScr (mode%, fillChar$)
	DECLARE SUB DisplayEntry (entry$, qfg%, qbg%, hfg%, hBG%, fg%, bg%, marker$, divider$, wid%, actionCode%)
	DECLARE SUB EditString (st$, leftCol%, row%, foreColor%, backColor%)
	DECLARE SUB GetScreen (file$)
	DECLARE SUB LoadVgaTextFont (fontfile$)
	DECLARE SUB LoadEgaTextFont (fontfile$)
	DECLARE SUB MakeWindow (topRow!, leftCol!, botRow!, rightCol!, foreColor%, backColor%, windowType%, frameType%, shadowColor%, explodeType%, label$)
	DECLARE SUB MouseAdjustBox (minSens%, x%, y%, fg%, bg%, bpfg%, bpbg%, frType%, shadow%, explode%)
	DECLARE SUB MouseOrKeyboardPause ()
	DECLARE SUB MultiMenu (menusArray$(), numEntries%(), menuTitles$(), x1%, y%, x2%, justify$, marker$, divider$, frameType%, shadowCode%, fg%, bg%, hfg%, hBG%, qfg%, qbg%, menuSelected%, menuEntrySelected%, useMouse%)
	DECLARE SUB OffCenter (st$, row%, leftCol%, rightCol%)
	DECLARE SUB OkMessageBox (x1%, y1%, x2%, y2%, st$(), numLines%, justify%, fg%, bg%, frType%, shadow%, explode%, label$, useMouse%, buttonBorder%, buttonStyle%)
	DECLARE SUB PutScreen (file$)
	DECLARE SUB QBPrint (st$, row%, col%, fore%, back%)
	DECLARE SUB ScrnRestore (firstLine%, lastLine%, scrArray%(), segment)
	DECLARE SUB ScrnSave (firstLine%, lastLine%, scrArray%(), segment)
	DECLARE SUB ViewList (list$(), listLen%, maxWidth%, topRow%, botRow%, leftCol%, fg%, bg%, frameType%, explode%, shadow%, label$, useMouse%)
	DECLARE SUB Wipe (top%, bottom%, lft%, rght%, back%)
	DECLARE FUNCTION getEvent% (checkMouse%, keyCode%, mouseX%, mouseY%)
	DECLARE SUB DepressedBox (boxType%, x1%, y1%, x2%, y2%, fg%, bg%, buttonStyle%)
	DECLARE SUB DrawButton (buttonType%, x1%, y1%, x2%, y2%, fg%, bg%, txt$, buttonStyle%)
	DECLARE SUB PressButton (buttonType%, x1%, y1%, x2%, y2%, fg%, bg%, txt$, buttonStyle%)
	DECLARE SUB PressedButton (buttonType%, x1%, y1%, x2%, y2%, fg%, bg%, txt$, buttonStyle%)
	DECLARE SUB RaisedBox (boxType%, x1%, y1%, x2%, y2%, fg%, bg%, buttonStyle%)

	DECLARE FUNCTION NextFile% (dta$)
	DECLARE FUNCTION FirstFile% (fileName$, attributes%, dta$)
	DECLARE SUB FileInfo (fd AS FileInfoType, dta$)
	DECLARE FUNCTION GetPath$ (drive%)
	DECLARE FUNCTION GetDriveCode% ()
	DECLARE FUNCTION GetDriveLetter$ ()
	DECLARE FUNCTION GetDiskFreeSpace& (drive%)
	DECLARE SUB SetDefaultDrive (drive%)
	DECLARE FUNCTION NumDrives% ()

