return 1;
}
-static SFG_Window* fghWindowUnderCursor(SFG_Window *window)
+SFG_Window* fghWindowUnderCursor(SFG_Window *window)
{
/* Check if the current window that the mouse is over is a child window
* of the window the message was sent to. Some events only sent to main window,
#endif /* defined(_WIN32_WCE) */
if (width!=window->State.Width || height!=window->State.Height)
- /* Something changed, need to resize */
- window->State.NeedToResize = GL_TRUE;
+ {
+ SFG_Window* saved_window = fgStructure.CurrentWindow;
+
+ /* size changed, call reshape callback */
+ INVOKE_WCB( *window, Reshape, ( width, height ) );
+ glutPostRedisplay( );
+ if( window->IsMenu )
+ fgSetWindow( saved_window );
+ }
}
/* according to docs, should return 0 */
break;
case WM_SETFOCUS:
-/* printf("WM_SETFOCUS: %p\n", window ); */
-
+ /*printf("WM_SETFOCUS: %p\n", window );*/
lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
SetActiveWindow( window->Window.Handle );
break;
case WM_KILLFOCUS:
- {
-/* printf("WM_KILLFOCUS: %p\n", window ); */
- lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
+ /*printf("WM_KILLFOCUS: %p\n", window ); */
+ lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
- /* Check if there are any open menus that need to be closed */
- fgPlatformCheckMenuDeactivate();
- }
+ /* Check if there are any open menus that need to be closed */
+ fgPlatformCheckMenuDeactivate();
break;
#if 0