Subversion Repositories Games.Chess Giants

Rev

Rev 1 | Rev 21 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 3
Line 14... Line 14...
14
 
14
 
15
   static wchar_t fen_string[128];
15
   static wchar_t fen_string[128];
16
   static char selectable_parts[14] = "PRNBQK kqbnrp";
16
   static char selectable_parts[14] = "PRNBQK kqbnrp";
17
   static int prevgui_x = 0;
17
   static int prevgui_x = 0;
18
   static int prevgui_y = 0;
18
   static int prevgui_y = 0;
-
 
19
   static bool ctrl_pressed = false;
19
   static bool rbutton_pushed = false;
20
   static bool rbutton_pushed = false;
20
 
21
 
21
   unsigned short wParam_hiword;
22
   unsigned short wParam_hiword;
22
   unsigned short wParam_loword;
23
   unsigned short wParam_loword;
23
   int prev_hovered_position[2];
24
   int prev_hovered_position[2];
Line 296... Line 297...
296
         ShellExecute (NULL, L"open", L"http://www.chessgames.com", NULL, NULL, SW_MAXIMIZE); // fire up the browser
297
         ShellExecute (NULL, L"open", L"http://www.chessgames.com", NULL, NULL, SW_MAXIMIZE); // fire up the browser
297
 
298
 
298
      // help menu, about
299
      // help menu, about
299
      else if (wParam_loword == MENUID_HELP_ABOUT)
300
      else if (wParam_loword == MENUID_HELP_ABOUT)
300
         DialogBox_About (); // show the About dialog box
301
         DialogBox_About (); // show the About dialog box
-
 
302
 
-
 
303
      // call the default window message processing function to keep things going
-
 
304
      return (DefWindowProc (hWnd, message, wParam, lParam));
-
 
305
   }
-
 
306
 
-
 
307
   /////////////////////////////////////////////////////
-
 
308
   // ctrl key press or release (while not in animation)
-
 
309
   else if ((message == WM_KEYDOWN) && (wParam == VK_CONTROL) && (animation_endtime + 1.0f < current_time))
-
 
310
   {
-
 
311
      ctrl_pressed = true; // remember the ctrl key is pressed
-
 
312
 
-
 
313
      // call the default window message processing function to keep things going
-
 
314
      return (DefWindowProc (hWnd, message, wParam, lParam));
-
 
315
   }
-
 
316
   else if ((message == WM_KEYUP) && (wParam == VK_CONTROL) && (animation_endtime + 1.0f < current_time))
-
 
317
   {
-
 
318
      ctrl_pressed = false; // remember the ctrl key is released
-
 
319
      rbutton_pushed = false; // remember button is released
-
 
320
      the_scene.update = true; // update the 3D scene
-
 
321
 
-
 
322
      // call the default window message processing function to keep things going
-
 
323
      return (DefWindowProc (hWnd, message, wParam, lParam));
-
 
324
   }
-
 
325
 
-
 
326
   ////////////////////////////////////////////////////////////////////////////////////////////////
-
 
327
   // left mouse button push (while not in animation)
-
 
328
   else if ((message == WM_LBUTTONDOWN) && (animation_endtime + 1.0f < current_time))
-
 
329
   {
-
 
330
      // is the ctrl key pressed (emulates a right click) ?
-
 
331
      if (ctrl_pressed)
-
 
332
      {
-
 
333
         prevgui_x = GET_X_LPARAM (lParam); // remember mouse coordinates
-
 
334
         prevgui_y = GET_Y_LPARAM (lParam);
-
 
335
 
-
 
336
         // if we click something, stop moving the table immediately
-
 
337
         the_board.players[current_viewer].view_pitch = current_pitch;
-
 
338
         the_board.players[current_viewer].view_yaw = current_yaw;
-
 
339
 
-
 
340
         rbutton_pushed = true; // remember button is clicked
-
 
341
      }
301
 
342
 
302
      // call the default window message processing function to keep things going
343
      // call the default window message processing function to keep things going
303
      return (DefWindowProc (hWnd, message, wParam, lParam));
344
      return (DefWindowProc (hWnd, message, wParam, lParam));
304
   }
345
   }
305
 
346
 
306
   ////////////////////////////////////////////////////////////////////////////////////////////////
347
   ////////////////////////////////////////////////////////////////////////////////////////////////
307
   // left mouse button release (while not in animation)
348
   // left mouse button release (while not in animation)
308
   else if ((message == WM_LBUTTONUP) && (animation_endtime + 1.0f < current_time))
349
   else if ((message == WM_LBUTTONUP) && (animation_endtime + 1.0f < current_time))
309
   {
350
   {
-
 
351
      // is the ctrl key pressed (emulates a right click) ?
-
 
352
      if (ctrl_pressed)
-
 
353
      {
-
 
354
         rbutton_pushed = false; // remember button is released
-
 
355
         the_scene.update = true; // update the 3D scene
-
 
356
 
-
 
357
         // call the default window message processing function to keep things going
-
 
358
         return (DefWindowProc (hWnd, message, wParam, lParam));
-
 
359
      }
-
 
360
 
310
      prevgui_x = GET_X_LPARAM (lParam); // remember mouse coordinates
361
      prevgui_x = GET_X_LPARAM (lParam); // remember mouse coordinates
311
      prevgui_y = GET_Y_LPARAM (lParam);
362
      prevgui_y = GET_Y_LPARAM (lParam);
312
 
363
 
313
      // get mouse coordinates
364
      // get mouse coordinates
314
      gui_x = GET_X_LPARAM (lParam);
365
      gui_x = GET_X_LPARAM (lParam);