Implement entering gating moves with mouse
[xboard.git] / backend.h
index dd0bec0..7e5accd 100644 (file)
--- a/backend.h
+++ b/backend.h
@@ -5,7 +5,7 @@
  * Massachusetts.
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
@@ -99,6 +99,8 @@
 
 extern int gotPremove;
 extern GameMode gameMode;
+extern int matchMode;
+extern int matchGame;
 extern int pausing, cmailMsgLoaded, flipView, mute;
 extern char white_holding[], black_holding[];
 extern int currentMove, backwardMostMove, forwardMostMove;
@@ -119,6 +121,7 @@ void SendMultiLineToICS P(( char *text ));
 void AnalysisPeriodicEvent P((int force));
 void SetWhiteToPlayEvent P((void));
 void SetBlackToPlayEvent P((void));
+void UploadGameEvent P((void));
 void InitBackEnd1 P((void));
 void InitBackEnd2 P((void));
 int HasPromotionChoice P((int fromX, int fromY, int toX, int toY, char *choice));
@@ -139,7 +142,7 @@ int LoadPosition P((FILE *f, int n, char *title));
 int ReloadPosition P((int offset));
 int SavePosition P((FILE *f, int dummy, char *dummy2));
 int DrawSeekGraph P(());
-int SeekGraphClick P((ClickType click, int x, int y, Boolean moving));
+int SeekGraphClick P((ClickType click, int x, int y, int moving));
 void EditPositionEvent P((void));
 void FlipViewEvent P((void));
 void MachineWhiteEvent P((void));
@@ -153,7 +156,7 @@ void BackwardEvent P((void));
 void ToEndEvent P((void));
 void ToStartEvent P((void));
 void ToNrEvent P((int to));
-void RevertEvent P((void));
+void RevertEvent P((Boolean annotate));
 void RetractMoveEvent P((void));
 void MoveNowEvent P((void));
 void TruncateGameEvent P((void));
@@ -170,7 +173,6 @@ void UserAdjudicationEvent P((int result));
 void StopObservingEvent P((void));
 void StopExaminingEvent P((void));
 void PonderNextMoveEvent P((int newState));
-void NewSettingeEvent P((int option, char *command, int value));
 void ShowThinkingEvent P(());
 void PeriodicUpdatesEvent P((int newState));
 void HintEvent P((void));
@@ -187,12 +189,14 @@ void AdjustClock P((Boolean which, int dir));
 void DisplayBothClocks P((void));
 void EditPositionMenuEvent P((ChessSquare selection, int x, int y));
 void DropMenuEvent P((ChessSquare selection, int x, int y));
-int ParseTimeControl P((char *tc, int ti, int mps));
+int ParseTimeControl P((char *tc, float ti, int mps));
+void EscapeExpand(char *p, char *q);
 void ProcessICSInitScript P((FILE * f));
 void EditCommentEvent P((void));
 void ReplaceComment P((int index, char *text));
 int ReplaceTags P((char *tags, GameInfo *gi));/* returns nonzero on error */
 void AppendComment P((int index, char *text, Boolean addBraces));
+void LoadVariation P((int index, char *text));
 void ReloadCmailMsgEvent P((int unregister));
 void MailMoveEvent P((void));
 void EditTagsEvent P((void));
@@ -201,10 +205,13 @@ void ExitAnalyzeMode P((void));
 void AnalyzeModeEvent P((void));
 void AnalyzeFileEvent P((void));
 void InitPosition P((int redraw));
-void NewSettingEvent P((int option, char *command, int value));
+void NewSettingEvent P((int option, int *feature, char *command, int value));
+int WaitForSecond P((DelayedEventCallback x));
+void SettingsMenuIfReady P((void));
 void DoEcho P((void));
 void DontEcho P((void));
 void TidyProgramName P((char *prog, char *host, char *buf));
+void SetGameInfo P((void));
 void AskQuestionEvent P((char *title, char *question,
                         char *replyPrefix, char *which));
 Boolean ParseOneMove P((char *move, int moveNum,
@@ -226,6 +233,7 @@ char *StrCaseStr P((char *string, char *match));
 char *StrSave P((char *s));
 char *StrSavePtr P((char *s, char **savePtr));
 char *SavePart P((char *));
+char* safeStrCpy P(( char *dst, const char *src, size_t count ));
 
 #ifndef _amigados
 int StrCaseCmp P((char *s1, char *s2));
@@ -266,6 +274,7 @@ typedef struct _ListGame {
     GameInfo gameInfo;      /*  Note that some entries may be NULL. */
 } ListGame;
  
+extern ChessSquare gatingPiece;
 extern List gameList;
 void ClearGameInfo P((GameInfo *));
 int GameListBuild P((FILE *));
@@ -280,6 +289,7 @@ extern char* StripHighlightAndTitle P((char *));  /* returns static data */
 extern void ics_update_width P((int new_width));
 extern Boolean set_cont_sequence P((char *new_seq));
 extern int wrap P((char *dest, char *src, int count, int width, int *lp));
+int Explode P((Board board, int fromX, int fromY, int toX, int toY));
 
 typedef enum { CheckBox, ComboBox, TextBox, Button, Spin, ResetButton,
                   SaveButton, FileName, PathName, Slider, Message } Control;
@@ -389,5 +399,6 @@ extern int shuffleOpenings;
 extern ChessProgramStats programStats;
 extern int opponentKibitzes; // used by wengineo.c
 extern int errorExitStatus;\r
+void SettingsPopUp P((ChessProgramState *cps)); // [HGM] really in front-end, but CPS not known in frontend.h
 
 #endif /* _BACKEND */