- lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
- break;
-#endif
-
- case WM_SETCURSOR:
- /*
- * Windows seems to need reminding to erase the cursor for NONE.
- */
-#if 0
- if ((LOWORD(lParam) == HTCLIENT) &&
- (fgStructure.Window->State.Cursor == GLUT_CURSOR_NONE))
- SetCursor( NULL );
-#else
- /* Set the cursor AND change it for this window class. */
-# define MAP_CURSOR(a,b) case a: SetCursor( LoadCursor( NULL, b ) ); \
- break;
- /* Nuke the cursor AND change it for this window class. */
-# define ZAP_CURSOR(a,b) case a: SetCursor( NULL ); \
- break;
-
- if (LOWORD(lParam) == HTCLIENT)
- switch( window->State.Cursor )
- {
- MAP_CURSOR( GLUT_CURSOR_RIGHT_ARROW, IDC_ARROW );
- MAP_CURSOR( GLUT_CURSOR_LEFT_ARROW, IDC_ARROW );
- MAP_CURSOR( GLUT_CURSOR_INFO, IDC_HELP );
- MAP_CURSOR( GLUT_CURSOR_DESTROY, IDC_CROSS );
- MAP_CURSOR( GLUT_CURSOR_HELP, IDC_HELP );
- MAP_CURSOR( GLUT_CURSOR_CYCLE, IDC_SIZEALL );
- MAP_CURSOR( GLUT_CURSOR_SPRAY, IDC_CROSS );
- MAP_CURSOR( GLUT_CURSOR_WAIT, IDC_WAIT );
- MAP_CURSOR( GLUT_CURSOR_TEXT, IDC_UPARROW );
- MAP_CURSOR( GLUT_CURSOR_CROSSHAIR, IDC_CROSS );
- /* MAP_CURSOR( GLUT_CURSOR_NONE, IDC_NO ); */
- ZAP_CURSOR( GLUT_CURSOR_NONE, NULL );
-
- default:
- MAP_CURSOR( GLUT_CURSOR_UP_DOWN, IDC_ARROW );
- }
-#endif
- else
- lRet = DefWindowProc( hWnd, uMsg, wParam, lParam );
- break;
-
- case WM_SHOWWINDOW:
- /*
- * We are now Visible!
- */
- window->State.Visible = TRUE;
- window->State.Redisplay = TRUE;
- break;
-
- case WM_PAINT:
- /*
- * Start the painting job
- */
-
- BeginPaint( hWnd, &ps );
-
- /*
- * Call the engine's main frame drawing method
- */
- fghRedrawWindowByHandle( hWnd );
-
- /*
- * End the painting job, release the device context
- */
- EndPaint( hWnd, &ps );