opengl: adding support for Cocoa mouseMove events for Right and Middle mouse buttons. Based on the patch by Chris Rorden. bug #34938

git-svn-id: trunk@61059 -
This commit is contained in:
dmitry 2019-04-26 12:57:20 +00:00
parent 02284c559f
commit 59587a0452

View File

@ -84,8 +84,10 @@ type
procedure mouseUp(event: NSEvent); override; procedure mouseUp(event: NSEvent); override;
procedure rightMouseDown(event: NSEvent); override; procedure rightMouseDown(event: NSEvent); override;
procedure rightMouseUp(event: NSEvent); override; procedure rightMouseUp(event: NSEvent); override;
procedure rightMouseDragged(event: NSEvent); override;
procedure otherMouseDown(event: NSEvent); override; procedure otherMouseDown(event: NSEvent); override;
procedure otherMouseUp(event: NSEvent); override; procedure otherMouseUp(event: NSEvent); override;
procedure otherMouseDragged(event: NSEvent); override;
procedure mouseDragged(event: NSEvent); override; procedure mouseDragged(event: NSEvent); override;
procedure mouseEntered(event: NSEvent); override; procedure mouseEntered(event: NSEvent); override;
procedure mouseExited(event: NSEvent); override; procedure mouseExited(event: NSEvent); override;
@ -430,44 +432,50 @@ end;
procedure TCocoaOpenGLView.mouseDown(event: NSEvent); procedure TCocoaOpenGLView.mouseDown(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited mouseDown(event);
else inherited mouseDown(event);
end; end;
procedure TCocoaOpenGLView.mouseUp(event: NSEvent); procedure TCocoaOpenGLView.mouseUp(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited mouseUp(event);
else inherited mouseUp(event);
end; end;
procedure TCocoaOpenGLView.rightMouseDown(event: NSEvent); procedure TCocoaOpenGLView.rightMouseDown(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited rightMouseDown(event);
else inherited rightMouseDown(event);
end; end;
procedure TCocoaOpenGLView.rightMouseUp(event: NSEvent); procedure TCocoaOpenGLView.rightMouseUp(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited rightMouseUp(event);
else inherited rightMouseUp(event); end;
procedure TCocoaOpenGLView.rightMouseDragged(event: NSEvent);
begin
if not Assigned(callback) or not callback.MouseMove(event) then
inherited rightMouseDragged(event);
end; end;
procedure TCocoaOpenGLView.otherMouseDown(event: NSEvent); procedure TCocoaOpenGLView.otherMouseDown(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited otherMouseDown(event);
else inherited otherMouseDown(event);
end; end;
procedure TCocoaOpenGLView.otherMouseUp(event: NSEvent); procedure TCocoaOpenGLView.otherMouseUp(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseUpDownEvent(event) then
then callback.MouseUpDownEvent(event) inherited otherMouseUp(event);
else inherited otherMouseUp(event); end;
procedure TCocoaOpenGLView.otherMouseDragged(event: NSEvent);
begin
if not Assigned(callback) or not callback.MouseMove(event) then
inherited otherMouseDragged(event);
end; end;
procedure TCocoaOpenGLView.mouseDragged(event: NSEvent); procedure TCocoaOpenGLView.mouseDragged(event: NSEvent);
@ -489,9 +497,8 @@ end;
procedure TCocoaOpenGLView.mouseMoved(event: NSEvent); procedure TCocoaOpenGLView.mouseMoved(event: NSEvent);
begin begin
if Assigned(callback) if not Assigned(callback) or not callback.MouseMove(event) then
then callback.MouseMove(event) inherited mouseMoved(event);
else inherited mouseMoved(event);
end; end;
procedure TCocoaOpenGLView.scrollWheel(event: NSEvent); procedure TCocoaOpenGLView.scrollWheel(event: NSEvent);