case WM_MBUTTONUP:\r
case WM_RBUTTONUP:\r
ReleaseCapture();\r
+ { extern int promotionChoice; extern Board promoBoard;\r
+ if(promotionChoice == 3 && (promoBoard[y][x] == EmptySquare || x == fromX && y == fromY))\r
+ break; // [HGM] promopopup: suppression of up-click selection as long as pseudo-popup is used\r
+ }\r
RightClick(Release, pt.x - boardRect.left, pt.y - boardRect.top, &fromX, &fromY);\r
break;\r
- \r
+\r
case WM_MBUTTONDOWN:\r
case WM_RBUTTONDOWN:\r
ErrorPopDown();\r
PromotionPopup(hwndMain);\r
}\r
\r
+void\r
+PromoDialog(int h, int w, Board board, Boolean clearBoard, char *title, int x, int y)\r
+{ // dummy routine to mimic with pseudo-popup what front-end should do:\r
+ // display a popup with h x w mini-board, and divert any mouse clicks\r
+ // on it to the back-end routines RightClick and LeftClick, just\r
+ // like the mouse event hadler of the board widget does now.\r
+ // (Note it would have to off-set x if holdings are displayed!)\r
+ DisplayMessage("Click on your piece of choice", "");\r
+ DrawPosition(TRUE, board);\r
+}\r
+\r
/* Toggle ShowThinking */\r
VOID\r
ToggleShowThinking()\r