* No videobuffer switch necessary for fvision win32 graphic version

This commit is contained in:
pierre 2002-06-06 06:46:28 +00:00
parent 62348069bf
commit 9cc0b51e98

View File

@ -157,6 +157,9 @@ uses
,Dpmiexcp, Go32 ,Dpmiexcp, Go32
{$endif} {$endif}
{$endif} {$endif}
{$ifdef fvision}
,Drivers
{$endif}
{$ifdef VESA} {$ifdef VESA}
,VESA ,VESA
{$endif} {$endif}
@ -647,6 +650,9 @@ begin
IDEScreenBufferHandle:=NewScreenBufferHandle; IDEScreenBufferHandle:=NewScreenBufferHandle;
DosScreenBufferHandle:=StartScreenBufferHandle; DosScreenBufferHandle:=StartScreenBufferHandle;
Capture; Capture;
{$ifdef fvision}
if TextModeGFV then
{$endif fvision}
SwitchBackToIDEScreen; SwitchBackToIDEScreen;
end; end;
@ -846,29 +852,44 @@ end;
do hold all the info } do hold all the info }
procedure TWin32Screen.SaveIDEScreen; procedure TWin32Screen.SaveIDEScreen;
begin begin
{$ifdef fvision}
if TextModeGFV then
{$endif fvision}
begin
GetConsoleMode(GetStdHandle(Std_Input_Handle), @IdeMode); GetConsoleMode(GetStdHandle(Std_Input_Handle), @IdeMode);
{ set the dummy buffer as active already now PM } { set the dummy buffer as active already now PM }
SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle); SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle);
UpdateFileHandles; UpdateFileHandles;
end;
end; end;
{ dummy for win32 as the Buffer screen { dummy for win32 as the Buffer screen
do hold all the info } do hold all the info }
procedure TWin32Screen.SaveConsoleScreen; procedure TWin32Screen.SaveConsoleScreen;
begin begin
{$ifdef fvision}
if TextModeGFV then
{$endif fvision}
begin
GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode); GetConsoleMode(GetStdHandle(Std_Input_Handle), @ConsoleMode);
{ set the dummy buffer as active already now PM } { set the dummy buffer as active already now PM }
SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle); SetStdHandle(Std_Output_Handle,DummyScreenBufferHandle);
UpdateFileHandles; UpdateFileHandles;
end;
end; end;
procedure TWin32Screen.SwitchToConsoleScreen; procedure TWin32Screen.SwitchToConsoleScreen;
begin begin
{$ifdef fvision}
if TextModeGFV then
{$endif fvision}
begin
SetConsoleActiveScreenBuffer(DosScreenBufferHandle); SetConsoleActiveScreenBuffer(DosScreenBufferHandle);
SetStdHandle(Std_Output_Handle,DosScreenBufferHandle); SetStdHandle(Std_Output_Handle,DosScreenBufferHandle);
IDEActive:=false;
SetConsoleMode(GetStdHandle(Std_Input_Handle), ConsoleMode); SetConsoleMode(GetStdHandle(Std_Input_Handle), ConsoleMode);
UpdateFileHandles; UpdateFileHandles;
end;
IDEActive:=false;
end; end;
procedure TWin32Screen.SwitchBackToIDEScreen; procedure TWin32Screen.SwitchBackToIDEScreen;
@ -878,6 +899,10 @@ var
res : boolean; res : boolean;
error : longint; error : longint;
begin begin
{$ifdef fvision}
if TextModeGFV then
{$endif fvision}
begin
SetStdHandle(Std_Output_Handle,IDEScreenBufferHandle); SetStdHandle(Std_Output_Handle,IDEScreenBufferHandle);
UpdateFileHandles; UpdateFileHandles;
GetConsoleScreenBufferInfo(IDEScreenBufferHandle, GetConsoleScreenBufferInfo(IDEScreenBufferHandle,
@ -901,6 +926,7 @@ begin
res:=SetConsoleWindowInfo(IDEScreenBufferHandle,true,WindowPos); res:=SetConsoleWindowInfo(IDEScreenBufferHandle,true,WindowPos);
if not res then if not res then
error:=GetLastError; error:=GetLastError;
end;
IDEActive:=true; IDEActive:=true;
end; end;
@ -943,7 +969,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.9 2002-04-25 13:34:17 pierre Revision 1.10 2002-06-06 06:46:28 pierre
* No videobuffer switch necessary for fvision win32 graphic version
Revision 1.9 2002/04/25 13:34:17 pierre
* fix the disappearing desktop for win32 * fix the disappearing desktop for win32
Revision 1.8 2002/01/22 16:29:52 pierre Revision 1.8 2002/01/22 16:29:52 pierre