X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.c;h=c3dcf9774bbbec3e8227ea609f8d8e8ef4c2908f;hb=ac647cc1aa823dd59b600245e5cc014ae85e1ce9;hp=0d33b09eeff05cabee9645ee6320e33d07441a3f;hpb=3994c15346431e4174170507360a676052456d80;p=xboard.git diff --git a/winboard/winboard.c b/winboard/winboard.c index 0d33b09..c3dcf97 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -3705,6 +3705,7 @@ MouseEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) break; case WM_MOUSEMOVE: + MovePV(pt.x - boardRect.left, pt.y - boardRect.top, boardRect.bottom - boardRect.top); if ((appData.animateDragging || appData.highlightDragging) && (wParam & MK_LBUTTON) && dragInfo.from.x >= 0) @@ -3742,6 +3743,12 @@ MouseEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } break; + case WM_MBUTTONUP: + case WM_RBUTTONUP: + ReleaseCapture(); + UnLoadPV(); + break; + case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: ErrorPopDown(); @@ -3786,15 +3793,29 @@ MouseEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) MenuPopup(hwnd, pt, LoadMenu(hInst, "ShogiPieceMenu"), -1); } break; - case IcsPlayingWhite: - case IcsPlayingBlack: - case EditGame: - case MachinePlaysWhite: - case MachinePlaysBlack: - if (appData.testLegality && - gameInfo.variant != VariantBughouse && - gameInfo.variant != VariantCrazyhouse) break; - if (x < 0 || y < 0) break; + case IcsObserving: + if(!appData.icsEngineAnalyze) break; + case IcsPlayingWhite: + case IcsPlayingBlack: + if(!appData.zippyPlay) goto noZip; + case MachinePlaysWhite: + case MachinePlaysBlack: + case TwoMachinesPlay: + case AnalyzeMode: + case AnalyzeFile: + if (!appData.dropMenu) { + SetCapture(hwndMain); + LoadPV(pt.x - boardRect.left, pt.y - boardRect.top); + break; + } + if(gameMode == TwoMachinesPlay || gameMode == AnalyzeMode || + gameMode == AnalyzeFile || gameMode == IcsObserving) break; + case EditGame: + noZip: + if (x < 0 || y < 0) break; + if (!appData.dropMenu || appData.testLegality && + gameInfo.variant != VariantBughouse && + gameInfo.variant != VariantCrazyhouse) break; fromX = x; fromY = y; hmenu = LoadMenu(hInst, "DropPieceMenu");