mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 21:19:31 +02:00
+ set conditional NOMOUSE to get dummy mouse unit
This commit is contained in:
parent
3f46012444
commit
102fba3a50
@ -6,11 +6,13 @@
|
||||
|
||||
uses
|
||||
Linux,Video
|
||||
{$ifndef NOMOUSE}
|
||||
{$ifdef OLDGPM}
|
||||
,gpm114
|
||||
{$else}
|
||||
,gpm
|
||||
{$endif}
|
||||
{$endif ndef NOMOUSE}
|
||||
;
|
||||
|
||||
const
|
||||
@ -22,9 +24,12 @@ var
|
||||
|
||||
|
||||
procedure PlaceMouseCur(ofs:longint);
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
upd : boolean;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifndef NOMOUSE}
|
||||
if VideoBuf=nil then
|
||||
exit;
|
||||
upd:=false;
|
||||
@ -42,13 +47,17 @@ begin
|
||||
end;
|
||||
if upd then
|
||||
Updatescreen(false);
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
procedure InitMouse;
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
connect : TGPMConnect;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifndef NOMOUSE}
|
||||
PendingMouseHead:=@PendingMouseEvent;
|
||||
PendingMouseTail:=@PendingMouseEvent;
|
||||
PendingMouseEvents:=0;
|
||||
@ -61,20 +70,27 @@ begin
|
||||
Gpm_Open(connect,0);
|
||||
{ show mousepointer }
|
||||
ShowMouse;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
procedure DoneMouse;
|
||||
begin
|
||||
{$ifndef NOMOUSE}
|
||||
HideMouse;
|
||||
Gpm_Close;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
function DetectMouse:byte;
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
DetectMouse:=0;
|
||||
{$else ndef NOMOUSE}
|
||||
{ always a mouse deamon present }
|
||||
DetectMouse:=2;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
@ -93,35 +109,53 @@ end;
|
||||
|
||||
|
||||
function GetMouseX:word;
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
e : TGPMEvent;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
GetMouseX:=0;
|
||||
{$else ndef NOMOUSE}
|
||||
if gpm_fd<0 then
|
||||
exit(0);
|
||||
Gpm_GetSnapshot(e);
|
||||
GetMouseX:=e.x-1;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
function GetMouseY:word;
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
e : TGPMEvent;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
GetMouseY:=0;
|
||||
{$else ndef NOMOUSE}
|
||||
if gpm_fd<0 then
|
||||
exit(0);
|
||||
Gpm_GetSnapshot(e);
|
||||
GetMouseY:=e.y-1;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
function GetMouseButtons:word;
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
e : TGPMEvent;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
GetMouseButtons:=0;
|
||||
{$else ndef NOMOUSE}
|
||||
if gpm_fd<0 then
|
||||
exit(0);
|
||||
Gpm_GetSnapshot(e);
|
||||
GetMouseButtons:=e.buttons;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
@ -131,9 +165,14 @@ end;
|
||||
|
||||
|
||||
procedure GetMouseEvent(var MouseEvent: TMouseEvent);
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
e : TGPMEvent;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
fillchar(@MouseEvent,SizeOf(TMouseEvent),#0);
|
||||
{$else ndef NOMOUSE}
|
||||
if gpm_fd<0 then
|
||||
exit;
|
||||
Gpm_GetEvent(e);
|
||||
@ -158,15 +197,22 @@ begin
|
||||
{ update mouse cursor }
|
||||
if mousecur then
|
||||
PlaceMouseCur(MouseEvent.y*ScreenWidth+MouseEvent.x);
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
|
||||
function PollMouseEvent(var MouseEvent: TMouseEvent):boolean;
|
||||
|
||||
{$ifndef NOMOUSE}
|
||||
var
|
||||
e : TGPMEvent;
|
||||
fds : FDSet;
|
||||
{$endif ndef NOMOUSE}
|
||||
begin
|
||||
{$ifdef NOMOUSE}
|
||||
fillchar(@MouseEvent,SizeOf(TMouseEvent),#0);
|
||||
exit(false);
|
||||
{$else ndef NOMOUSE}
|
||||
if gpm_fd<0 then
|
||||
exit(false);
|
||||
FD_Zero(fds);
|
||||
@ -195,11 +241,15 @@ begin
|
||||
end
|
||||
else
|
||||
PollMouseEvent:=false;
|
||||
{$endif ndef NOMOUSE}
|
||||
end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2000-01-06 01:20:31 peter
|
||||
Revision 1.2 2000-04-17 08:51:38 pierre
|
||||
+ set conditional NOMOUSE to get dummy mouse unit
|
||||
|
||||
Revision 1.1 2000/01/06 01:20:31 peter
|
||||
* moved out of packages/ back to topdir
|
||||
|
||||
Revision 1.1 1999/11/24 23:36:38 peter
|
||||
@ -228,4 +278,4 @@ end;
|
||||
Revision 1.2 1998/10/29 12:49:49 peter
|
||||
* more fixes
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user