mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 00:29:33 +02:00
* extracted the common cga/mcga 320x200 and 640x200 setup code to separate
procedures in unit ptcgraph git-svn-id: trunk@37593 -
This commit is contained in:
parent
9e6330ae2f
commit
a6db15dfeb
@ -1937,6 +1937,60 @@ end;
|
||||
SortModes(i,r);
|
||||
end;
|
||||
|
||||
procedure FillCommonCGA320(var mode: TModeInfo);
|
||||
begin
|
||||
mode.HardwarePages := 0;
|
||||
mode.MaxColor := 4;
|
||||
mode.PaletteSize := 16;
|
||||
mode.DirectColor := FALSE;
|
||||
mode.MaxX := 319;
|
||||
mode.MaxY := 199;
|
||||
mode.DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
mode.PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
mode.GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
mode.PutImage := @ptc_PutImageProc_8bpp;
|
||||
mode.GetImage := @ptc_GetImageProc_8bpp;
|
||||
mode.GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
mode.SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
mode.GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
//mode.SetAllPalette := {$ifdef fpc}@{$endif}SetVGARGBAllPalette;
|
||||
mode.HLine := @ptc_HLineProc_8bpp;
|
||||
mode.VLine := @ptc_VLineProc_8bpp;
|
||||
mode.SetBkColor := @SetBkColorCGA320;
|
||||
mode.GetBkColor := @GetBkColorCGA320;
|
||||
mode.SetVisualPage := @ptc_SetVisualPage;
|
||||
mode.SetActivePage := @ptc_SetActivePage;
|
||||
mode.XAspect := 8333;
|
||||
mode.YAspect := 10000;
|
||||
end;
|
||||
|
||||
procedure FillCommonCGA640(var mode: TModeInfo);
|
||||
begin
|
||||
mode.HardwarePages := 0;
|
||||
mode.MaxColor := 2;
|
||||
mode.PaletteSize := 16;
|
||||
mode.DirectColor := FALSE;
|
||||
mode.MaxX := 639;
|
||||
mode.MaxY := 199;
|
||||
mode.DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
mode.PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
mode.GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
mode.PutImage := @ptc_PutImageProc_8bpp;
|
||||
mode.GetImage := @ptc_GetImageProc_8bpp;
|
||||
mode.GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
mode.SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
mode.GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
//mode.SetAllPalette := {$ifdef fpc}@{$endif}SetVGARGBAllPalette;
|
||||
mode.HLine := @ptc_HLineProc_8bpp;
|
||||
mode.VLine := @ptc_VLineProc_8bpp;
|
||||
mode.SetBkColor := @SetBkColorCGA640;
|
||||
mode.GetBkColor := @GetBkColorCGA640;
|
||||
mode.SetVisualPage := @ptc_SetVisualPage;
|
||||
mode.SetActivePage := @ptc_SetActivePage;
|
||||
mode.XAspect := 4167;
|
||||
mode.YAspect := 10000;
|
||||
end;
|
||||
|
||||
var
|
||||
graphmode:Tmodeinfo;
|
||||
I: Integer;
|
||||
@ -1959,363 +2013,83 @@ end;
|
||||
RestoreVideoState:=@ptc_restorevideostate;
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=CGAC0;
|
||||
DriverNumber := CGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C0';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC0;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := CGA;
|
||||
graphmode.ModeNumber := CGAC0;
|
||||
graphmode.ModeName := '320 x 200 CGA C0';
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC0;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=CGAC1;
|
||||
DriverNumber := CGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C1';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC1;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := CGA;
|
||||
graphmode.ModeNumber := CGAC1;
|
||||
graphmode.ModeName := '320 x 200 CGA C1';
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC1;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=CGAC2;
|
||||
DriverNumber := CGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C2';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC2;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := CGA;
|
||||
graphmode.ModeNumber := CGAC2;
|
||||
graphmode.ModeName := '320 x 200 CGA C2';
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC2;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=CGAC3;
|
||||
DriverNumber := CGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C3';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC3;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := CGA;
|
||||
graphmode.ModeNumber := CGAC3;
|
||||
graphmode.ModeName := '320 x 200 CGA C3';
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC3;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=CGAHi;
|
||||
DriverNumber := CGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='640 x 200 CGA';
|
||||
MaxColor := 2;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 639;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init640x200x2;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA640;
|
||||
GetBkColor := @GetBkColorCGA640;
|
||||
|
||||
XAspect := 4167;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA640(graphmode);
|
||||
graphmode.DriverNumber := CGA;
|
||||
graphmode.ModeNumber := CGAHi;
|
||||
graphmode.ModeName:='640 x 200 CGA';
|
||||
graphmode.InitMode := @ptc_Init640x200x2;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=MCGAC0;
|
||||
DriverNumber := MCGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C0';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC0;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := MCGA;
|
||||
graphmode.ModeNumber := MCGAC0;
|
||||
graphmode.ModeName := '320 x 200 CGA C0'; { yes, it says 'CGA' even for the MCGA driver; this is TP7 compatible }
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC0;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=MCGAC1;
|
||||
DriverNumber := MCGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C1';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC1;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := MCGA;
|
||||
graphmode.ModeNumber := MCGAC1;
|
||||
graphmode.ModeName := '320 x 200 CGA C1'; { yes, it says 'CGA' even for the MCGA driver; this is TP7 compatible }
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC1;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=MCGAC2;
|
||||
DriverNumber := MCGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C2';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC2;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := MCGA;
|
||||
graphmode.ModeNumber := MCGAC2;
|
||||
graphmode.ModeName := '320 x 200 CGA C2'; { yes, it says 'CGA' even for the MCGA driver; this is TP7 compatible }
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC2;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=MCGAC3;
|
||||
DriverNumber := MCGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='320 x 200 CGA C3';
|
||||
MaxColor := 4;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 319;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init320x200x4cgaC3;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA320;
|
||||
GetBkColor := @GetBkColorCGA320;
|
||||
|
||||
XAspect := 8333;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA320(graphmode);
|
||||
graphmode.DriverNumber := MCGA;
|
||||
graphmode.ModeNumber := MCGAC3;
|
||||
graphmode.ModeName := '320 x 200 CGA C3'; { yes, it says 'CGA' even for the MCGA driver; this is TP7 compatible }
|
||||
graphmode.InitMode := @ptc_Init320x200x4cgaC3;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
with graphmode do
|
||||
begin
|
||||
ModeNumber:=MCGAMed;
|
||||
DriverNumber := MCGA;
|
||||
HardwarePages := 0;
|
||||
ModeName:='640 x 200 CGA';
|
||||
MaxColor := 2;
|
||||
DirectColor := FALSE;
|
||||
PaletteSize := 16;
|
||||
MaxX := 639;
|
||||
MaxY := 199;
|
||||
InitMode := @ptc_Init640x200x2;
|
||||
DirectPutPixel := @ptc_DirectPixelProc_8bpp;
|
||||
PutPixel := @ptc_PutPixelProc_8bpp;
|
||||
PutImage := @ptc_PutImageProc_8bpp;
|
||||
GetPixel := @ptc_GetPixelProc_8bpp;
|
||||
GetScanLine := @ptc_GetScanLineProc_8bpp;
|
||||
GetImage := @ptc_GetImageProc_8bpp;
|
||||
SetRGBPalette := @ptc_SetRGBPaletteProc;
|
||||
GetRGBPalette := @ptc_GetRGBPaletteProc;
|
||||
|
||||
HLine := @ptc_HLineProc_8bpp;
|
||||
VLine := @ptc_VLineProc_8bpp;
|
||||
|
||||
SetVisualPage := @ptc_SetVisualPage;
|
||||
SetActivePage := @ptc_SetActivePage;
|
||||
|
||||
SetBkColor := @SetBkColorCGA640;
|
||||
GetBkColor := @GetBkColorCGA640;
|
||||
|
||||
XAspect := 4167;
|
||||
YAspect := 10000;
|
||||
end;
|
||||
FillCommonCGA640(graphmode);
|
||||
graphmode.DriverNumber := MCGA;
|
||||
graphmode.ModeNumber := MCGAMed;
|
||||
graphmode.ModeName:='640 x 200 CGA'; { yes, it says 'CGA' even for the MCGA driver; this is TP7 compatible }
|
||||
graphmode.InitMode := @ptc_Init640x200x2;
|
||||
AddMode(graphmode);
|
||||
|
||||
InitMode(graphmode);
|
||||
|
Loading…
Reference in New Issue
Block a user