procedure InitGraph;
procedure CloseGraph;
procedure SetColor(AColor:byte);
function GetColor:byte;

procedure PutPixel(x,y:word);
procedure PutPixel3(x,y,z,ZOff:word);
function GetPixel(x,y:word):byte;

procedure SetPalette(ColorNumber:byte;AColor:ColorType);
procedure GetPalette(ColorNumber:byte;var TheColor:ColorType);
procedure FadeScreen(Speed:SpeedRangeType);
procedure RotatePalette(Start,Finish:byte);
procedure SavePalette(FileName:string);
procedure LoadPalette(FileName:string);

procedure InitGradatedPalette(var SomePalette:GradatedPaletteType);
procedure AddKeyPoint(var SomePalette:GradatedPaletteType; 	    	     	    	Location:byte; Color:ColorType);

procedure GeneratePalette(SomePalette:GradatedPaletteType);
procedure KillGradatedPalette(var SomePalette:GradatedPaletteType);

procedure ClearScreen;
procedure Circle(x,y,Radius:word);
procedure Ellipse(x,y,RadiusX,RadiusY:word);
procedure Line(x1,y1,x2,y2:word);
procedure Bar(BeginX,BeginY,EndX,EndY:word);
procedure Rectangle(BeginX,BeginY,EndX,EndY:word);
procedure Fill(x,y:word;FillColor,Border:byte);
procedure InitFire(var SomeFire:FireType; 1,y1,x2,y2:word; 
	BeginPal,EndPal:byte);
procedure DoFire(SomeFire:FireType);

procedure GetImage(var Image:ImageType;x1,y1,x2,y2:word);
procedure PutImage(Image:ImageType;x1,y1:word);
procedure KillImage(var Image:ImageType);

procedure PutChar(Font:FontEnumeratedType;xc,yc:word;AChar:char);
procedure WriteStringXY(Font:FontEnumeratedType; xc,yc:word; Thing:string);
procedure WriteString(Font:FontEnumeratedType;Thing:string);

procedure LoadPCX(var Image:PictureType;FileName:string);
procedure LoadTGA(var Image:PictureType;FileName:string);
procedure DrawPicture(x1,y1:word; Image:PictureType; BeginPart,EndPart:byte);
procedure KillPicture(var Image:PictureType);

procedure InitPage(var SomePage:PageType);
procedure SetActivePage(SomePage:PageType);
procedure CopyPage(Source:PageType;var Destination:PageType);
procedure CopyPageToVGA(SomePage:PageType);
procedure CopyVGAToPage(var SomePage:PageType);
procedure KillPage(SomePage:PageType);

procedure InitMap(var SomeMap:MapType);
procedure AddHotArea(var SomeMap:MapType; Name:string; 
	bx1,by1,ex1,ey1,bx2,by2,ex2,ey2:word);
procedure RenderHotAreas(var SomeMap:MapType);
function PollHotAreas(SomeMap:MapType):string;
procedure KillMap(var SomeMap:MapType);

procedure FlipImage(var SomeImage:ImageType);
procedure MirrorImage(var SomeImage:ImageType);

procedure InitMovie(var SomeMovie:MovieType);
procedure AddSomeFrame(var SomeMovie:MovieType;x1,y1,x2,y2:word);
procedure PlayMovie(SomeMovie:MovieType; pX,pY:word;UsePalette:boolean; 	Direction:DirectionType);
procedure KillMovie(var SomeMovie:MovieType);