summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/gfx/eventtest/eventtest.lpi1
-rw-r--r--gfx/gdi/gfx_gdi.pas18
-rw-r--r--gfx/gfxbase.pas4
3 files changed, 22 insertions, 1 deletions
diff --git a/examples/gfx/eventtest/eventtest.lpi b/examples/gfx/eventtest/eventtest.lpi
index 7ffa2dbe..3562e167 100644
--- a/examples/gfx/eventtest/eventtest.lpi
+++ b/examples/gfx/eventtest/eventtest.lpi
@@ -14,7 +14,6 @@
</General>
<PublishOptions>
<Version Value="2"/>
- <DestinationDirectory Value="$(TestDir)\publishedproject\"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
diff --git a/gfx/gdi/gfx_gdi.pas b/gfx/gdi/gfx_gdi.pas
index 20f5f444..8a258a03 100644
--- a/gfx/gdi/gfx_gdi.pas
+++ b/gfx/gdi/gfx_gdi.pas
@@ -147,6 +147,9 @@ type
{ TGDIScreen }
TGDIScreen = class(TFCustomScreen)
+ protected
+ procedure SetMousePos(const NewPos: TPoint); override;
+ function GetMousePos: TPoint; override;
public
constructor Create; override;
end;
@@ -951,6 +954,21 @@ end;
{ TGDIScreen }
+procedure TGDIScreen.SetMousePos(const NewPos: TPoint);
+begin
+ Windows.SetCursorPos(NewPos.x, NewPos.y);
+end;
+
+function TGDIScreen.GetMousePos: TPoint;
+var
+ Pos: Windows.TPoint;
+begin
+ Windows.GetCursorPos(Pos);
+
+ Result.x := Pos.x;
+ Result.y := Pos.y;
+end;
+
constructor TGDIScreen.Create;
begin
inherited Create;
diff --git a/gfx/gfxbase.pas b/gfx/gfxbase.pas
index 050797e3..83fd2a36 100644
--- a/gfx/gfxbase.pas
+++ b/gfx/gfxbase.pas
@@ -435,8 +435,12 @@ type
{ TFCustomScreen }
TFCustomScreen = class(TObject)
+ protected
+ procedure SetMousePos(const NewPos: TPoint); virtual; abstract;
+ function GetMousePos: TPoint; virtual; abstract;
public
constructor Create; virtual;
+ property MousePos: TPoint read GetMousePos write SetMousePos;
end;
{ TFCustomApplication }