That's a good hint.
I can confirm that on linux everything works as expected.
The issue is only on windows.
The problem is only with mouse wheel events:
https://github.com/golang/exp/blob/master/shiny/driver/internal/win32/win32.go#L168

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.

I'll file an issue.

On Tue, Jan 17, 2017 at 10:38 PM, Dave MacFarlane <driu...@gmail.com> wrote:
> 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.
>
> On Sat, Jan 14, 2017 at 5:59 AM,  <kty...@gmail.com> wrote:
>> How do I get the position for a mouse.Event in shiny using
>> golang.org/x/mobile/event.mouse?
>>
>> 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.
>>
>> Example:
>> https://github.com/ktye/maps/blob/master/cmd/map/main.go#L101
>>
>> --
>> 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+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> - Dave

-- 
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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to