gpmex.pp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. program gpmex;
  2. {
  3. Example program to demonstrate the use of the gpm unit.
  4. }
  5. uses gpm;
  6. var
  7. connect : TGPMConnect;
  8. event : tgpmevent;
  9. begin
  10. connect.EventMask:=GPM_MOVE or GPM_DRAG or GPM_DOWN or GPM_UP;
  11. connect.DefaultMask:=0;
  12. connect.MinMod:=0;
  13. connect.MaxMod:=0;
  14. if Gpm_Open(connect,0)=-1 then
  15. begin
  16. Writeln('No mouse handler present.');
  17. Halt(1);
  18. end;
  19. Writeln('Click right button to end.');
  20. Repeat
  21. gpm_getevent(Event);
  22. With Event do
  23. begin
  24. Write('Pos = (',X,',',Y,') Buttons : (');
  25. if (buttons and Gpm_b_left)<>0 then
  26. write('left ');
  27. if (buttons and Gpm_b_right)<>0 then
  28. write('right ');
  29. if (buttons and Gpm_b_middle)<>0 then
  30. Write('middle ');
  31. Write(') Event : ');
  32. Case EventType and $F of
  33. GPM_MOVE: write('Move');
  34. GPM_DRAG: write('Drag');
  35. GPM_DOWN: write('Down');
  36. GPM_UP: write('Up');
  37. end;
  38. Writeln;
  39. end;
  40. Until (Event.Buttons and gpm_b_right)<>0;
  41. gpm_close;
  42. end.