mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-16 12:42:47 +02:00
46 lines
1.0 KiB
ObjectPascal
46 lines
1.0 KiB
ObjectPascal
program gpmex;
|
|
|
|
{
|
|
Example program to demonstrate the use of the gpm unit.
|
|
}
|
|
|
|
uses gpm;
|
|
|
|
var
|
|
connect : TGPMConnect;
|
|
event : tgpmevent;
|
|
|
|
begin
|
|
connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
|
|
connect.DefaultMask:=0;
|
|
connect.MinMod:=0;
|
|
connect.MaxMod:=0;
|
|
if Gpm_Open(connect,0)=-1 then
|
|
begin
|
|
Writeln('No mouse handler present.');
|
|
Halt(1);
|
|
end;
|
|
Writeln('Click right button to end.');
|
|
Repeat
|
|
gpm_getevent(Event);
|
|
With Event do
|
|
begin
|
|
Write('Pos = (',X,',',Y,') Buttons : (');
|
|
if (buttons and Gpm_b_left)<>0 then
|
|
write('left ');
|
|
if (buttons and Gpm_b_right)<>0 then
|
|
write('right ');
|
|
if (buttons and Gpm_b_middle)<>0 then
|
|
Write('middle ');
|
|
Write(') Event : ');
|
|
Case EventType and $F of
|
|
GPM_MOVE: write('Move');
|
|
GPM_DRAG: write('Drag');
|
|
GPM_DOWN: write('Down');
|
|
GPM_UP: write('Up');
|
|
end;
|
|
Writeln;
|
|
end;
|
|
Until (Event.Buttons and gpm_b_right)<>0;
|
|
gpm_close;
|
|
end. |