diff options
-rw-r--r-- | examples/gfx/eventtest/eventtest.lpi | 1 | ||||
-rw-r--r-- | gfx/gdi/gfx_gdi.pas | 18 | ||||
-rw-r--r-- | gfx/gfxbase.pas | 4 |
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 } |