The position returned is the global position on the screen, which changes if I move the window. The comments in https://github.com/golang/mobile/blob/master/event/mouse/mouse.go#L18 say it's: "// X and Y are the mouse location, in pixels.". It doesn't mention if they are relative to the screen or the window.
How do I get the position relative to the window?
Or is it an error of the driver (I'm using windows)?
Neither shiny.Screen nor shiny.Window have methods to get the current position of the window.
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to golang-nuts
I haven't seen this either, the solution depends on what platform you're trying to support.
I have a package that does this, for Win32. If you're using Windows, you use the the Rect() or ClientAbs() in my package to get the position of the window (or the client area).
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to kty...@gmail.com, golang-nuts
That doesn't sound right to me.
I just added a 'fmt.Printf("X: %v Y: %v\n", e.X, e.Y)' to the switch
case handling mouse.Event in one of my shiny programs, and the mouse
coordinates are reported relative to the top-left corner of the
window.
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
- Dave
ktye
unread,
Jan 17, 2017, 5:45:39 PM1/17/17
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
lparam is used to get the coordinates of the mouse events.
However depending on the buttons, lparam has different meanings:
WM_MOUSEWHELL message:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms645616(v=vs.85).aspx lParam
The low-order word specifies the x-coordinate of the pointer,
relative to the upper-left corner of the screen.
The high-order word specifies the y-coordinate of the pointer,
relative to the upper-left corner of the screen.
WM_MOUSEMOVE message:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms645616(v=vs.85).aspx lParam
The low-order word specifies the x-coordinate of the cursor. The
coordinate is relative to the upper-left corner of the client area.
The high-order word specifies the y-coordinate of the cursor. The
coordinate is relative to the upper-left corner of the client area.