X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxboard.c;h=d6f47d7ff7a5fe7fa02b29b587cb573b5986926a;hb=189b48237361df4f482800f6e17a52f11595c08a;hp=76cd57dad71b500bc0eca7eb92923c2217f7cca6;hpb=51af0717099806507c09bab2416cfbc67c30224e;p=xboard.git diff --git a/gtk/xboard.c b/gtk/xboard.c index 76cd57d..d6f47d7 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -204,8 +204,8 @@ int main P((int argc, char **argv)); RETSIGTYPE CmailSigHandler P((int sig)); RETSIGTYPE IntSigHandler P((int sig)); RETSIGTYPE TermSizeSigHandler P((int sig)); -#if ENABLE_NLS char *InsertPxlSize P((char *pattern, int targetPxlSize)); +#if ENABLE_NLS XFontSet CreateFontSet P((char *base_fnt_lst)); #else char *FindFont P((char *pattern, int targetPxlSize)); @@ -1152,6 +1152,9 @@ main (int argc, char **argv) BoardToTop(); } + gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes() + InitPosition(TRUE); + InitBackEnd2(); if (errorExitStatus == -1) { @@ -1172,8 +1175,6 @@ main (int argc, char **argv) } } - gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes() - InitPosition(TRUE); UpdateLogos(TRUE); // XtSetKeyboardFocus(shellWidget, formWidget); #ifdef TODO_GTK @@ -1335,13 +1336,13 @@ CreateFontSet (char *base_fnt_lst) * The return value should be freed with XtFree when no * longer needed. */ +#ifdef TODO_GTK char * FindFont (char *pattern, int targetPxlSize) { char **fonts, *p, *best, *scalable, *scalableTail; int i, j, nfonts, minerr, err, pxlSize; -#ifdef TODO_GTK fonts = XListFonts(xDisplay, pattern, 999999, &nfonts); if (nfonts < 1) { fprintf(stderr, _("%s: no fonts match pattern %s\n"), @@ -1390,10 +1391,10 @@ FindFont (char *pattern, int targetPxlSize) pattern, targetPxlSize, p); } XFreeFontNames(fonts); -#endif return p; } #endif +#endif void EnableNamedMenuItem (char *menuRef, int state) @@ -1554,11 +1555,13 @@ ReSize (WindowPlacement *wp) int sqx, sqy, w, h, hc, lg = lineGap; gtk_widget_get_allocation(optList[W_WHITE].handle, &a); hc = a.height; // clock height can depend on single / double line clock text! - wp->height = BOARD_HEIGHT * (squareSize + lineGap) + lineGap + marginH + hc; + if(clockKludge && hc != clockKludge) wp->height += hc - clockKludge, clockKludge = 0; + wpMain.height = BOARD_HEIGHT * (squareSize + lineGap) + lineGap + marginH + hc; if(wp->width == wpMain.width && wp->height == wpMain.height) return; // not sized sqx = (wp->width - lg - marginW) / BOARD_WIDTH - lg; sqy = (wp->height - lg - marginH - hc) / BOARD_HEIGHT - lg; if(sqy < sqx) sqx = sqy; + if(sqx < 20) return; if(appData.overrideLineGap < 0) { // do second iteration with adjusted lineGap lg = lineGap = sqx < 37 ? 1 : sqx < 59 ? 2 : sqx < 116 ? 3 : 4; sqx = (wp->width - lg - marginW) / BOARD_WIDTH - lg; @@ -1566,7 +1569,6 @@ ReSize (WindowPlacement *wp) if(sqy < sqx) sqx = sqy; } if(sqx != squareSize) { -//printf("new sq size %d (%dx%d)\n", sqx, wp->width, wp->height); squareSize = sqx; // adopt new square size CreatePNGPieces(); // make newly scaled pieces InitDrawingSizes(0, 0); // creates grid etc.