OK, ich hab eine wacklige Lösung gefunden, ich hab meine AdGLFWWindow.pas folgender maßen verändert:
Delphi-Quellcode:
procedure MousePosCallback(X, Y: Integer); stdcall;
var w,h:integer;
begin
//Store the current mouse position
MouseX := X;
MouseY := Y;
//Changes Ilja Bauer - Fix folowing Problem: Mouse move outside the Window
glfwGetWindowSize(w, h);
IF MouseX>w Then MouseX:=w-1;
IF MouseX<0 Then MouseX:=1;
IF MouseY>h Then MouseY:=h-1;
IF MouseY<0 Then MouseY:=1;
//Changes End
//Call the mouse move event
if Assigned(WindowInstance.Events.OnMouseMove) then
WindowInstance.Events.OnMouseMove(WindowInstance, GetShiftState, MouseX, MouseY);
end;
Da mein Programm auch unter Linux laufen soll, kommt für mich nur GLFW in Frage.
Ein Problem hat die Lösung noch:
Es wird nur MouseX und MouseY verändert, X und Y gehen jedoch weiterhin ausßerhalb des Bereiches, so dass es Zu einem leichten kleben an dem Rand des Fensters gibt.
Wenn jemand weiß, wie manns beheben kann, soll hier posten.