summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fb6f3cd)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1515
7f0cb862-5218-0410-a997-
914c9d46530a
rControl = 0, rShift = 0, rAlt = 0;
int keypress = -1;
rControl = 0, rShift = 0, rAlt = 0;
int keypress = -1;
/* if keydown, check for repeat */
/* If repeat is globally switched off, it cannot be switched back on per window.
/* if keydown, check for repeat */
/* If repeat is globally switched off, it cannot be switched back on per window.
/* Remember the current modifiers state so user can query it from their callback */
fgState.Modifiers = fgPlatformGetModifiers( );
/* Remember the current modifiers state so user can query it from their callback */
fgState.Modifiers = fgPlatformGetModifiers( );
- /* Get mouse position roughly at time of keypress */
- GetCursorPos( &mouse_pos );
- ScreenToClient( window->Window.Handle, &mouse_pos );
- window->State.MouseX = mouse_pos.x;
- window->State.MouseY = mouse_pos.y;
-
/* Convert the Win32 keystroke codes to GLUTtish way */
# define KEY(a,b) case a: keypress = b; break;
/* Convert the Win32 keystroke codes to GLUTtish way */
# define KEY(a,b) case a: keypress = b; break;
SFG_WindowHandleType hwnd;
SFG_Window* temp_window;
SFG_WindowHandleType hwnd;
SFG_Window* temp_window;
- GetCursorPos( &mouse_pos );
+ /* Get mouse position at time of message */
+ DWORD mouse_pos_Dword = GetMessagePos();
+ mouse_pos.x = GET_X_LPARAM(mouse_pos_Dword);
+ mouse_pos.y = GET_Y_LPARAM(mouse_pos_Dword);
ScreenToClient( window->Window.Handle, &mouse_pos );
ScreenToClient( window->Window.Handle, &mouse_pos );
hwnd = ChildWindowFromPoint(window->Window.Handle, mouse_pos);
if (hwnd && hwnd!=window->Window.Handle) /* can be NULL if mouse outside parent by the time we get here, or can be same as parent if we didn't find a child */
{
hwnd = ChildWindowFromPoint(window->Window.Handle, mouse_pos);
if (hwnd && hwnd!=window->Window.Handle) /* can be NULL if mouse outside parent by the time we get here, or can be same as parent if we didn't find a child */
{
+ //printf("WM_ACTIVATE: %x %d %d\n",lParam, HIWORD(wParam), LOWORD(wParam));
if (LOWORD(wParam) != WA_INACTIVE)
{
/* printf("WM_ACTIVATE: fgSetCursor( %p, %d)\n", window,
if (LOWORD(wParam) != WA_INACTIVE)
{
/* printf("WM_ACTIVATE: fgSetCursor( %p, %d)\n", window,