X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xboard.c;h=80e622e4ebaa48665943f4fb4616b3dedb9aad9f;hb=1f84be6944ee48b72a33cf064661fa1a2129b885;hp=0f12af6e9e2c8d2efaf3082bb8f0642bc9fff4a6;hpb=c95ef32a700132a134f335f857ca6f1b6f3c169f;p=xboard.git diff --git a/xboard.c b/xboard.c index 0f12af6..80e622e 100644 --- a/xboard.c +++ b/xboard.c @@ -1079,8 +1079,9 @@ char globalTranslations[] = \"Send to second chess program:\",,2) \n"; char boardTranslations[] = - ": HandleUserMove() \n \ - : HandleUserMove() \n \ + ": HandleUserMove(0) \n \ + Shift: HandleUserMove(1) \n \ + : HandleUserMove(0) \n \ : AnimateUserMove() \n \ : HandlePV() \n \ : PieceMenuPopup(menuB) \n \ @@ -4215,6 +4216,7 @@ static void colorDrawPieceImage(piece, square_color, x, y, dest) } break; } + if(appData.upsideDown && flipView) kind ^= 2; // swap white and black pieces XCopyArea(xDisplay, xpmPieceBitmap[kind][piece], dest, wlPieceGC, 0, 0, squareSize, squareSize, x, y); @@ -4650,6 +4652,7 @@ void HandleUserMove(w, event, prms, nprms) Cardinal *nprms; { if (w != boardWidget || errorExitStatus != -1) return; + if(nprms) shiftKey = !strcmp(prms[0], "1"); if (promotionUp) { if (event->type == ButtonPress) { @@ -8119,7 +8122,8 @@ DoInputCallback(closure, source, xid) /* read from stdin */ rl_callback_read_char(); - /* redisplay the current line */ + + /* redisplay the current line, check special case for login and password */ if(sending_ICS_password) { int i; char buf[MSG_SIZ]; @@ -8741,6 +8745,7 @@ OverlayPiece(piece, clip, outline, dest) kind = 0; else kind = 2; + if(appData.upsideDown && flipView) kind ^= 2; XCopyArea(xDisplay, xpmPieceBitmap[kind][piece], dest, clip, 0, 0, squareSize, squareSize,