mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-26 22:28:33 +02:00
* No videobuffer switch necessary for fvision win32 graphic version
This commit is contained in:
parent
62348069bf
commit
9cc0b51e98
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user