diff --git a/rtl/linux/graph.pp b/rtl/linux/graph.pp index 8d03ab9f39..f0eff4dbfa 100644 --- a/rtl/linux/graph.pp +++ b/rtl/linux/graph.pp @@ -181,7 +181,6 @@ Type PaletteType = record Size : integer; - Colors : array[0..767]of Byte; end; @@ -281,12 +280,24 @@ procedure Sector(X, Y: Integer; StAngle, EndAngle, XRadius, YRadius: Word); { Color routines } procedure SetBkColor(ColorNum: Word); procedure SetColor(Color: Word); +Function GetBkColor : Word; +Function GetColor : Word; function GetMaxColor : Word; +Procedure GetDefaultPalette (Var Palette : PaletteType); +Procedure GetPalette (Var Palette : PaletteType); +Function GetPaletteSize : Word; +Procedure SetAllPalette (Var Palette); +Procedure SetPalette (ColorNr : Word; NewColor : ShortInt); + +{ Filling/linestyle utilities } +Procedure GetFillSettings (Var FillSettings : FillSettingsType); +Procedure GetFillPattern (Var FillPattern : FillPatternType); +Procedure GetLineSettings (Var LineInfo : LineSettingsType); { Bitmap utilities } procedure GetImage(x1, y1, x2, y2: Integer; var BitMap); procedure PutImage(X, Y: Integer; var BitMap; BitBlt: Word); -function ImageSize(x1, y1, x2, y2: Integer): LongInt; +function ImageSize(x1, y1, x2, y2: Integer): LongInt; { Text routines} procedure OutText(TextString: string); @@ -294,29 +305,47 @@ procedure OutTextXY(X, Y: Integer; TextString: string); procedure SetTextJustify(Horiz, Vert: Word); procedure SetTextStyle(Font, Direction: Word; CharSize: Word); procedure SetUserCharSize(MultX, DivX, MultY, DivY: Word); +procedure GetTextSettings (Var TextInfo : TextSettingsType); { Graph clipping method } -procedure SetViewPort(x1, y1, x2, y2: Integer; Clip: Boolean); +Procedure SetViewPort(x1, y1, x2, y2: Integer; Clip: Boolean); Procedure ClearViewPort; +Procedure GetViewSettings (Var ViewPort : ViewPortType); { Init/Done } procedure InitVideo; procedure DoneVideo; { Other } -function GetResX: Integer; -function GetResY: Integer; -function GetAspect: Real; -function GetMaxX : Integer; -function GetMAxY : Integer; +function GetResX: Integer; +function GetResY: Integer; +function GetAspect: Real; +Procedure GetAspectRatio (Var x,y : Word); +function GetMaxX : Integer; +function GetMAxY : Integer; { For compatibility } Procedure DetectGraph (Var Driver,Mode : Integer); Procedure InitGraph (Var Driver,Mode : Integer;DriverPath : String); Procedure CloseGraph; -Function GraphResult : Integer; +Function GraphResult : Integer; Procedure GraphDefaults ; -Function GraphErrorMsg (Errcode : Integer) : String; +Function GraphErrorMsg (Errcode : Integer) : String; +Procedure ClearDevice; +Function GetDriverName : String; +Function GetGraphMode : Integer; +Function GetMaxMode : Word; +Function GetModeName (Var Modus : INteger) : String; +Procedure GetModeRange (Driver : Integer; Var loModus,HiModus : Integer); +Function InstallUserDriver (DriverPat :String; AutodetectPtr : Pointer) : Integer; +Function InstallUserFont (FontPath : String) : Integer; +Function RegisterBGIDriver (Driver : Pointer) : Integer; +Function RegisterBGIFont (Font : Pointer) : Integer; +Procedure RestoreCRTmode; +Procedure SetActivePage (Page : Word); +Procedure SetGraphBufSize (BufSize : Word); +Procedure SetGraphMode (Mode :Integer); +Procedure SetVisualPage (Page : Word); const NoGraphics: Boolean = false; @@ -511,7 +540,12 @@ var IsVirtual: Boolean; PhysicalScreen, BackScreen: PGraphicsContext; ColorTable: array[0..15] of LongInt; - + TheFillPattern : FillPatternType; + TheLineSettings : LineSettingsType; + ThePalette : PaletteType; + TheTextSettings : TextSettingsType; + TheFillSettings : FillSettingsType; + const BgiColors: array[0..15] of LongInt = ($000000, $000080, $008000, $008080, @@ -914,6 +948,12 @@ begin GetAspect := 1.0 end; { GetAspect } +Procedure GetAspectRatio (Var x,y : Word); +begin + X:=GetMaxX; + Y:=GetMaxY +end; { GetAspect } + Var LastViewPort : ViewPortType; procedure SetViewPort(x1, y1, x2, y2: Integer; Clip: Boolean); @@ -936,6 +976,12 @@ begin gl_fillbox(X1,Y1,X2-X1,Y2-Y1,BackColor); end; +Procedure GetViewSettings (Var ViewPort : ViewPortType); + +begin + ViewPort:=LastViewPort; +end; + { VGAMEM } type @@ -1295,7 +1341,9 @@ begin end; procedure FillPoly(NumPoints: Word; var PolyPoints); + begin + DrawPoly (NumPoints,PolyPoints); end; procedure SetFillStyle(Pattern: Word; Color: Word); @@ -1387,6 +1435,7 @@ end; procedure SetAspectRatio(Xasp, Yasp: Word); begin + //!! Needs implementing. end; procedure PieSlice(X, Y: Integer; StAngle, EndAngle, Radius: Word); @@ -1427,12 +1476,24 @@ begin BackColor := ColorTable[ColorNum]; end; +Function GetBkColor : Word; + +begin + GetBkColor:=BackColor; +end; + procedure SetColor(Color: Word); begin TheColor := ColorTable[Color]; end; -function getmaxcolor : Word; +Function GetColor : Word; + +begin + GetColor:=TheColor; +end; + +function GetMaxColor : Word; begin getmaxcolor:=16; @@ -1512,10 +1573,11 @@ begin If Mode=-1 then mode:=0; end; +Var VgaMode : Integer; + Procedure InitGraph (Var Driver,Mode : Integer;DriverPath : String); var - VgaMode: Integer; ModeInfo: pvga_modeinfo; begin @@ -1573,16 +1635,163 @@ begin GraphErrorMsg:=''; end; +Procedure ClearDevice; begin + SetViewPort (0,0,GetMaxX,GetMaxY,False); + ClearViewPort; + MoveTo(0,0); +end; +Procedure GetDefaultPalette (Var Palette : Palettetype); + +begin + //!! Not yet implemented. +end; + +Function GetDriverName : String; + +begin + GetDriverName:='libvga'; +end; + +Function GetGraphMode : Integer; + +begin + GetGraphMode:=VgaMode; +end; + +Procedure GetFillPattern (Var FillPattern : FillPatternType); + +begin + FillPattern:=TheFillPattern; +end; + +Procedure GetFillSettings (Var FillSettings : FillSettingsType); + +begin + FillSettings:=TheFillSettings; +end; + +Procedure GetLineSettings (Var LineInfo : LineSettingsType); + +begin + LineInfo:=TheLineSettings; +end; + +Function GetMaxMode : Word; + +begin + GetMaxMode:=GLastMode; +end; + +Function GetModeName (Var Modus : INteger) : String; + +begin + GetModeName:='VGA' +end; + +Procedure GetModeRange (Driver : Integer; Var loModus,HiModus : Integer); + +begin + LoModus:=1; + HiModus:=GLASTMODE; +end; + +Procedure GetPalette (Var Palette : PaletteType); + +begin + Palette:=ThePalette; +end; + +Procedure SetAllPalette (Var Palette); + +begin + ThePalette:=PaletteType(Palette); +end; + +Procedure SetPalette (ColorNr : Word; NewColor : ShortInt); + +begin + //!! not implemented. +end; + +Function GetPaletteSize : Word; + +begin + GetPaletteSize:=16; +end; + +Procedure GetTextSettings (Var TextInfo : TextSettingsType); + +begin + TextInfo:=TheTextSettings; +end; + +Function InstallUserDriver (DriverPat :String; AutodetectPtr : Pointer) : Integer; + +begin + InstallUserDriver:=grError; +end; + +Function InstallUserFont (FontPath : String) : Integer; + +begin + InstallUserFont:=0; +end; + +Function RegisterBGIDriver (Driver : Pointer) : Integer; + +begin + RegisterBGIDriver:=grError; +end; + +Function RegisterBGIFont (Font : Pointer) : Integer; +begin + RegisterBGIFont:=grError; +end; + +Procedure RestoreCRTmode; + +begin + vga_setmode(GTEXT); +end; + +Procedure SetActivePage (Page : Word); + +begin + //!! Not implemented +end; + +Procedure SetVisualPage (Page : Word); + +begin + //!! Not implemented +end; + +Procedure SetGraphBufSize (BufSize : Word); + +begin +end; + +Procedure SetGraphMode (Mode :Integer); + +begin + vga_setmode(Mode); + VgaMode:=Mode; +end; + +begin { Give up root permissions if we are root. } if geteuid = 0 then vga_init; end. { $Log$ - Revision 1.8 1998-09-11 09:24:55 michael + Revision 1.9 1998-09-13 19:22:06 michael + + Implemented dummies for all missing functions + + Revision 1.8 1998/09/11 09:24:55 michael Added missing functions so mandel compiles and runs Revision 1.7 1998/08/24 08:23:47 michael