void SelectCommand P((Widget w, XtPointer client_data, XtPointer call_data));
void LoadPositionProc P((Widget w, XEvent *event,
String *prms, Cardinal *nprms));
-void LoadNextPositionProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
-void LoadPrevPositionProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
-void ReloadPositionProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
void CopyPositionProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void PastePositionProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void PremoveProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
void QuietPlayProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
-void ShowThinkingProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
-void HideThinkingProc P((Widget w, XEvent *event, String *prms,
- Cardinal *nprms));
void TestLegalityProc P((Widget w, XEvent *event, String *prms,
Cardinal *nprms));
void AboutGameProc P((Widget w, XEvent *event, String *prms, Cardinal *nprms));
{N_("Paste Game"), PasteGameProc},
{"----", NothingProc},
{N_("Load Position"), LoadPositionProc},
- {N_("Load Next Position"), LoadNextPositionProc},
- {N_("Load Previous Position"), LoadPrevPositionProc},
- {N_("Reload Same Position"), ReloadPositionProc},
+ // {N_("Load Next Position"), LoadNextPositionProc},
+ // {N_("Load Previous Position"), LoadPrevPositionProc},
+ // {N_("Reload Same Position"), ReloadPositionProc},
{N_("Save Position"), SavePositionProc},
{"----", NothingProc},
{N_("Copy Position"), CopyPositionProc},
{N_("Popup Move Errors"), PopupMoveErrorsProc},
{N_("Premove"), PremoveProc},
{N_("Quiet Play"), QuietPlayProc},
- {N_("Hide Thinking"), HideThinkingProc},
+ // {N_("Hide Thinking"), HideThinkingProc},
{N_("Test Legality"), TestLegalityProc},
{NULL, NULL}
};
{ "Iconify", Iconify },
{ "LoadSelectedProc", LoadSelectedProc },
{ "LoadPositionProc", LoadPositionProc },
- { "LoadNextPositionProc", LoadNextPositionProc },
- { "LoadPrevPositionProc", LoadPrevPositionProc },
- { "ReloadPositionProc", ReloadPositionProc },
+ // { "LoadNextPositionProc", LoadNextPositionProc },
+ // { "LoadPrevPositionProc", LoadPrevPositionProc },
+ // { "ReloadPositionProc", ReloadPositionProc },
{ "CopyPositionProc", CopyPositionProc },
{ "PastePositionProc", PastePositionProc },
{ "CopyGameProc", CopyGameProc },
{ "PopupMoveErrorsProc", PopupMoveErrorsProc },
{ "PremoveProc", PremoveProc },
{ "QuietPlayProc", QuietPlayProc },
- { "ShowThinkingProc", ShowThinkingProc },
- { "HideThinkingProc", HideThinkingProc },
+ // { "ShowThinkingProc", ShowThinkingProc },
+ // { "HideThinkingProc", HideThinkingProc },
{ "TestLegalityProc", TestLegalityProc },
// { "InfoProc", InfoProc },
// { "ManProc", ManProc },
return;
}
-#ifdef IDSIZES
- // eventually, all layout determining code should go into a subroutine, but until then IDSIZE remains undefined
-#else
#define BoardSize int
void InitDrawingSizes(BoardSize boardSize, int flags)
{ // [HGM] resize is functional now, but for board format changes only (nr of ranks, files)
CreateAnimVars();
#endif
}
-#endif
void EscapeExpand(char *p, char *q)
{ // [HGM] initstring: routine to shape up string arguments
GUI_History = GTK_WIDGET (gtk_builder_get_object (builder, "MoveHistory"));
if(!GUI_History) printf("Error: gtk_builder didn't work!\n");
+ GUI_Menubar = GTK_WIDGET (gtk_builder_get_object (builder, "MenuBar"));
+ if(!GUI_Menubar) printf("Error: gtk_builder didn't work!\n");
+ GUI_Timer = GTK_WIDGET (gtk_builder_get_object (builder, "Timer"));
+ if(!GUI_Timer) printf("Error: gtk_builder didn't work!\n");
+ GUI_Buttonbar = GTK_WIDGET (gtk_builder_get_object (builder, "ButtonBar"));
+ if(!GUI_Buttonbar) printf("Error: gtk_builder didn't work!\n");
GUI_Board = GTK_WIDGET (gtk_builder_get_object (builder, "Board"));
if(!GUI_Board) printf("Error: gtk_builder didn't work!\n");
gameInfo.variant = StringToVariant(appData.variant);
InitPosition(FALSE);
-
-#ifdef IDSIZE
- InitDrawingSizes(-1, 0); // [HGM] initsize: make this into a subroutine
-#else
- if (isdigit(appData.boardSize[0])) {
- i = sscanf(appData.boardSize, "%d,%d,%d,%d,%d,%d,%d", &squareSize,
- &lineGap, &clockFontPxlSize, &coordFontPxlSize,
- &fontPxlSize, &smallLayout, &tinyLayout);
- if (i == 0) {
- fprintf(stderr, _("%s: bad boardSize syntax %s\n"),
- programName, appData.boardSize);
- exit(2);
- }
- if (i < 7) {
- /* Find some defaults; use the nearest known size */
- SizeDefaults *szd, *nearest;
- int distance = 99999;
- nearest = szd = sizeDefaults;
- while (szd->name != NULL) {
- if (abs(szd->squareSize - squareSize) < distance) {
- nearest = szd;
- distance = abs(szd->squareSize - squareSize);
- if (distance == 0) break;
- }
- szd++;
- }
- if (i < 2) lineGap = nearest->lineGap;
- if (i < 3) clockFontPxlSize = nearest->clockFontPxlSize;
- if (i < 4) coordFontPxlSize = nearest->coordFontPxlSize;
- if (i < 5) fontPxlSize = nearest->fontPxlSize;
- if (i < 6) smallLayout = nearest->smallLayout;
- if (i < 7) tinyLayout = nearest->tinyLayout;
- }
- } else {
- SizeDefaults *szd = sizeDefaults;
- if (*appData.boardSize == NULLCHAR) {
- while (DisplayWidth(xDisplay, xScreen) < szd->minScreenSize ||
- DisplayHeight(xDisplay, xScreen) < szd->minScreenSize) {
- szd++;
- }
- if (szd->name == NULL) szd--;
- } else {
- while (szd->name != NULL &&
- StrCaseCmp(szd->name, appData.boardSize) != 0) szd++;
- if (szd->name == NULL) {
- fprintf(stderr, _("%s: unrecognized boardSize name %s\n"),
+ /* calc board size */
+ if (isdigit(appData.boardSize[0]))
+ {
+ i = sscanf(appData.boardSize, "%d,%d,%d,%d,%d,%d,%d", &squareSize,
+ &lineGap, &clockFontPxlSize, &coordFontPxlSize,
+ &fontPxlSize, &smallLayout, &tinyLayout);
+ if (i == 0)
+ {
+ fprintf(stderr, _("%s: bad boardSize syntax %s\n"),
programName, appData.boardSize);
exit(2);
}
- }
+ if (i < 7)
+ {
+ /* Find some defaults; use the nearest known size */
+ SizeDefaults *szd, *nearest;
+ int distance = 99999;
+ nearest = szd = sizeDefaults;
+ while (szd->name != NULL)
+ {
+ if (abs(szd->squareSize - squareSize) < distance)
+ {
+ nearest = szd;
+ distance = abs(szd->squareSize - squareSize);
+ if (distance == 0) break;
+ }
+ szd++;
+ };
+ if (i < 2) lineGap = nearest->lineGap;
+ if (i < 3) clockFontPxlSize = nearest->clockFontPxlSize;
+ if (i < 4) coordFontPxlSize = nearest->coordFontPxlSize;
+ if (i < 5) fontPxlSize = nearest->fontPxlSize;
+ if (i < 6) smallLayout = nearest->smallLayout;
+ if (i < 7) tinyLayout = nearest->tinyLayout;
+ }
+ }
+ else
+ {
+ SizeDefaults *szd = sizeDefaults;
+ if (*appData.boardSize == NULLCHAR)
+ {
+ while (DisplayWidth(xDisplay, xScreen) < szd->minScreenSize
+ || DisplayHeight(xDisplay, xScreen) < szd->minScreenSize)
+ {
+ szd++;
+ }
+ if (szd->name == NULL) szd--;
+ }
+ else
+ {
+ while (szd->name != NULL
+ && StrCaseCmp(szd->name, appData.boardSize) != 0)
+ szd++;
+ if (szd->name == NULL)
+ {
+ fprintf(stderr, _("%s: unrecognized boardSize name %s\n"),
+ programName, appData.boardSize);
+ exit(2);
+ }
+ }
squareSize = szd->squareSize;
lineGap = szd->lineGap;
clockFontPxlSize = szd->clockFontPxlSize;
fontPxlSize = szd->fontPxlSize;
smallLayout = szd->smallLayout;
tinyLayout = szd->tinyLayout;
- }
-
+ }
+ /* end figuring out what size to use */
+
boardWidth = lineGap + BOARD_WIDTH * (squareSize + lineGap);
boardHeight = lineGap + BOARD_HEIGHT * (squareSize + lineGap);
- if (appData.showJail == 1) {
- /* Jail on top and bottom */
- XtSetArg(boardArgs[1], XtNwidth, boardWidth);
- XtSetArg(boardArgs[2], XtNheight,
- boardHeight + 2*(lineGap + squareSize));
- } else if (appData.showJail == 2) {
- /* Jail on sides */
- XtSetArg(boardArgs[1], XtNwidth,
- boardWidth + 2*(lineGap + squareSize));
- XtSetArg(boardArgs[2], XtNheight, boardHeight);
- } else {
- /* No jail */
- XtSetArg(boardArgs[1], XtNwidth, boardWidth);
- XtSetArg(boardArgs[2], XtNheight, boardHeight);
- }
-
+
/*
* Determine what fonts to use.
*/
/* TODO hide button bar if requested */
}
- /*
- * gtk set properties of widgets
- */
-
- /* set board size */
- gtk_widget_set_size_request(GTK_WIDGET(GUI_Board),
- boardWidth,boardHeight);
-
- /* end gtk set properties of widgets */
if (appData.titleInWindow)
{
{
}
- // [HGM] it seems the layout code ends here, but perhaps the color stuff is size independent and would
- // not need to go into InitDrawingSizes().
-#endif
/* set some checkboxes in the menu according to appData */
/* end setting check boxes */
-
/* load square colors */
SVGLightSquare = load_pixbuf("svg/LightSquare.svg",squareSize);
SVGDarkSquare = load_pixbuf("svg/DarkSquare.svg",squareSize);
WindowIcon = WhiteIcon;
gtk_window_set_icon(GTK_WINDOW(GUI_Window),WindowIcon);
- /* do resizing to a fixed aspect ratio */
-
- {
- int i,j;
- }
- GUI_SetAspectRatio(0.7);
/* realize window */
gtk_widget_show (GUI_Window);
+ /* recalc boardsize */
CreateGCs();
CreatePieces();
CreatePieceMenus();
void CreateGCs()
{
+ /* GCs are not needed anymore for GTK just left them in here for the moment, since there is a lot of X-code still around that's wants them*/
+
XtGCMask value_mask = GCLineWidth | GCLineStyle | GCForeground
| GCBackground | GCFunction | GCPlaneMask;
XGCValues gc_values;
void CreatePieces()
{
- /* order of pieces
- WhitePawn, WhiteKnight, WhiteBishop, WhiteRook, WhiteQueen, WhiteKing,
- BlackPawn, BlackKnight, BlackBishop, BlackRook, BlackQueen, BlackKing,
- */
int i;
+ /* free if used
+ for(i=0;i<MAXPIECES;i++)
+ {
+ if(SVGpieces[i])
+ {
+ g_free(SVGpieces[i]);
+ SVGpieces[i]=NULL;
+ }
+ }
+ */
+
+ /* reload these */
+ SVGLightSquare = load_pixbuf("svg/LightSquare.svg",squareSize);
+ SVGDarkSquare = load_pixbuf("svg/DarkSquare.svg",squareSize);
+ SVGNeutralSquare = load_pixbuf("svg/NeutralSquare.svg",squareSize);
+
+
/* get some defaults going */
for(i=WhitePawn; i<DemotePiece+1; i++)
SVGpieces[i] = load_pixbuf("svg/NeutralSquare.svg",squareSize);
-
SVGpieces[WhitePawn] = load_pixbuf("svg/WhitePawn.svg",squareSize);
SVGpieces[WhiteKnight] = load_pixbuf("svg/WhiteKnight.svg",squareSize);
SVGpieces[WhiteBishop] = load_pixbuf("svg/WhiteBishop.svg",squareSize);
return LoadGame(f, gameNumber, title, FALSE);
}
-
-void LoadNextPositionProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- ReloadPosition(1);
-}
-
-void LoadPrevPositionProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- ReloadPosition(-1);
-}
-
-void ReloadPositionProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- ReloadPosition(0);
-}
-
void LoadPositionProc(w, event, prms, nprms)
Widget w;
XEvent *event;
fprintf(debugFP, _("ICS engine analyze starting... \n"));
}
if (!appData.showThinking)
- ShowThinkingProc(w,event,prms,nprms);
+ ShowThinkingProc(NULL,NULL);
AnalyzeModeEvent();
}
Reset(FALSE, TRUE);
if (!appData.showThinking)
- ShowThinkingProc(w,event,prms,nprms);
+ ShowThinkingProc(NULL,NULL);
AnalyzeFileEvent();
FileNamePopUp(_("File to analyze"), "", LoadGamePopUp, "rb");
args, 1);
}
-void ShowThinkingProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.showThinking = !appData.showThinking; // [HGM] thinking: tken out of ShowThinkingEvent
- ShowThinkingEvent();
-}
-
-void HideThinkingProc(w, event, prms, nprms)
- Widget w;
- XEvent *event;
- String *prms;
- Cardinal *nprms;
-{
- Arg args[16];
-
- appData.hideThinkingFromHuman = !appData.hideThinkingFromHuman; // [HGM] thinking: tken out of ShowThinkingEvent
- ShowThinkingEvent();
-
- if (appData.hideThinkingFromHuman) {
- XtSetArg(args[0], XtNleftBitmap, xMarkPixmap);
- } else {
- XtSetArg(args[0], XtNleftBitmap, None);
- }
- XtSetValues(XtNameToWidget(menuBarWidget, "menuOptions.Hide Thinking"),
- args, 1);
-}
-
void DebugProc(w, event, prms, nprms)
Widget w;
XEvent *event;