Fix multi-leg promotions
[xboard.git] / frontend.h
index 33496d4..16d1f5b 100644 (file)
@@ -5,7 +5,8 @@
  * Massachusetts.
  *
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
- * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ * 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free
+ * Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
  *------------------------------------------------------------------------
  ** See the file ChangeLog for a revision history.  */
 
-#ifndef _FRONTEND
-#define _FRONTEND
+#ifndef XB_FRONTEND
+#define XB_FRONTEND
 
 #include <stdio.h>
 
-typedef VOIDSTAR ProcRef;
-#define NoProc ((ProcRef) 0)
-typedef VOIDSTAR InputSourceRef;
-
 char *T_ P((char *s));
 void ModeHighlight P((void));
 void SetICSMode P((void));
@@ -72,14 +69,11 @@ void SetUserThinkingEnables P((void));
 void SetMachineThinkingEnables P((void));
 void DisplayTitle P((String title));
 void DisplayMessage P((String message, String extMessage));
-void DisplayError P((String message, int error));
 void DisplayMoveError P((String message));
 
-/* If status == 0, we are exiting with a benign message, not an error */
-void DisplayFatalError P((String message, int error, int status));
+void DisplayNote P((String message));
 
 void DisplayInformation P((String message));
-void DisplayNote P((String message));
 void AskQuestion P((String title, String question, String replyPrefix,
                    ProcRef pr));
 void DisplayIcsInteractionTitle P((String title));
@@ -100,13 +94,14 @@ void DrawSeekDot P((int x, int y, int color));
 void PopUpMoveDialog P((char first));
 
 void RingBell P((void));
+int  Roar P((void));
 void PlayIcsWinSound P((void));
 void PlayIcsLossSound P((void));
 void PlayIcsDrawSound P((void));
 void PlayIcsUnfinishedSound P((void));
 void PlayAlarmSound P((void));
 void PlayTellSound P((void));
-void PlaySound P((char *name));
+int  PlaySoundFile P((char *name));
 void PlaySoundByColor P((void));
 void EchoOn P((void));
 void EchoOff P((void));
@@ -114,6 +109,7 @@ void Raw P((void));
 void Colorize P((ColorClass cc, int continuation));
 char *InterpretFileName P((char *name, char *dir));
 void DoSleep P((int n));
+void DoEvents P((void));
 
 char *UserName P((void));
 char *HostName P((void));
@@ -130,22 +126,23 @@ int StopLoadGameTimer P((void));
 void StartLoadGameTimer P((long millisec));
 void AutoSaveGame P((void));
 
-typedef void (*DelayedEventCallback) P((void));
 void ScheduleDelayedEvent P((DelayedEventCallback cb, long millisec));
 DelayedEventCallback GetDelayedEvent P((void));
 void CancelDelayedEvent P((void));
 // [HGM] mouse: next six used by mouse handler, which was moved to backend
 extern int fromX, fromY, toX, toY;
-typedef enum { Press, Release } ClickType;
-void PromotionPopUp P((void));
+void PromotionPopUp P((char choice));
 void DragPieceBegin P((int x, int y, Boolean instantly));
 void DragPieceEnd P((int x, int y));
+void DragPieceMove P((int x, int y));
 void LeftClick P((ClickType c, int x, int y));
 int  RightClick P((ClickType c, int x, int y, int *col, int *row));
+void Wheel P((int dir, int x, int y));
 
 int StartChildProcess P((char *cmdLine, char *dir, ProcRef *pr));
 void DestroyChildProcess P((ProcRef pr, int/*boolean*/ signal));
 void InterruptChildProcess P((ProcRef pr));
+char *BufferCommandOutput P((char *command, int size));
 void RunCommand P((char *buf));
 
 int OpenTelnet P((char *host, char *port, ProcRef *pr));
@@ -171,6 +168,7 @@ void CmailSigHandlerCallBack P((InputSourceRef isr, VOIDSTAR closure,
 
 extern ProcRef cmailPR;
 extern int shiftKey, controlKey;
+extern char dataDir[], manDir[];
 
 /* in xgamelist.c or winboard.c */
 void GLT_ClearList();
@@ -183,8 +181,11 @@ extern char *homeDir;
 
 /* these are in wgamelist.c */
 void GameListPopUp P((FILE *fp, char *filename));
+void GameListPopDown P((void));
 void GameListHighlight P((int index));
 void GameListDestroy P((void));
+void GameListUpdate P((void));
+FILE *GameFile P((void));
 
 /* these are in wedittags.c */
 void EditTagsPopUp P((char *tags, char **dest));
@@ -192,7 +193,7 @@ void TagsPopUp P((char *tags, char *msg));
 void TagsPopDown P((void));
 
 void ParseIcsTextColors P((void));
-void ICSInitScript P((void));
+int  ICSInitScript P((void));
 void StartAnalysisClock P((void));
 void EngineOutputPopUp P((void));
 void EgineOutputPopDown P((void));
@@ -214,15 +215,15 @@ void CopyFENToClipboard P((void));
 extern char *programName;
 extern int commentUp;
 extern char *firstChessProgramNames;
+extern char *icsTextMenuString;
 
 void GreyRevert P((Boolean grey));
-void MarkMenuItem P((char *menuRef, int state));
-void EnableMenuItem P((char *menuRef, int state));
+void EnableNamedMenuItem P((char *menuRef, int state));
 
 typedef struct FrontEndProgramStats_TAG {
     int which;
     int depth;
-    unsigned long nodes;
+    u64 nodes;
     int score;
     int time;
     char * pv;
@@ -240,9 +241,13 @@ int  EngineOutputDialogExists P((void));
 void EvalGraphPopUp P((void));
 Boolean EvalGraphIsUp P((void));
 int  EvalGraphDialogExists P((void));
+void SlavePopUp P((void));
+void ActivateTheme P((int new));
+char *Col2Text P((int n));
 
 /* these are in xhistory.c  */
 Boolean MoveHistoryIsUp P((void));
 void HistoryPopUp P((void));
+void FindMoveByCharIndex P(( int char_index ));
 
-#endif
+#endif /* XB_FRONTEND */