* frontend.h -- Interface exported by all XBoard front ends
*
* Copyright 1991 by Digital Equipment Corporation, Maynard,
- * Massachusetts. Enhancements Copyright
- * 1992-2001,2002,2003,2004,2005,2006,2007,2008,2009 Free Software
- * Foundation, Inc.
+ * Massachusetts.
+ *
+ * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
+ * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ *
+ * Enhancements Copyright 2005 Alessandro Scotti
*
* The following terms apply to Digital Equipment Corporation's copyright
* interest in XBoard:
*------------------------------------------------------------------------
** See the file ChangeLog for a revision history. */
-#ifndef _FRONTEND
-#define _FRONTEND
+#ifndef XB_FRONTEND
+#define XB_FRONTEND
#include <stdio.h>
#define NoProc ((ProcRef) 0)
typedef VOIDSTAR InputSourceRef;
+char *T_ P((char *s));
void ModeHighlight P((void));
void SetICSMode P((void));
void SetGNUMode P((void));
void AskQuestion P((String title, String question, String replyPrefix,
ProcRef pr));
void DisplayIcsInteractionTitle P((String title));
+void ParseArgsFromString P((char *p));
+void ParseArgsFromFile P((FILE *f));
void DrawPosition P((int fullRedraw, Board board));
void ResetFrontEnd P((void));
+void NotifyFrontendLogin P((void));
void CommentPopUp P((String title, String comment));
void CommentPopDown P((void));
void EditCommentPopUp P((int index, String title, String text));
+void ErrorPopDown P((void));
+int EventToSquare P((int x, int limit));
+void DrawSeekAxis P(( int x, int y, int xTo, int yTo ));
+void DrawSeekBackground P(( int left, int top, int right, int bottom ));
+void DrawSeekText P((char *buf, int x, int y));
+void DrawSeekDot P((int x, int y, int color));
+void DrawSeekOpen P((void));
+void DrawSeekClose P((void));
+void PopUpMoveDialog P((char first));
void RingBell P((void));
void PlayIcsWinSound P((void));
void PlayIcsDrawSound P((void));
void PlayIcsUnfinishedSound P((void));
void PlayAlarmSound P((void));
+void PlayTellSound P((void));
+void PlaySoundFile P((char *name));
+void PlaySoundByColor P((void));
void EchoOn P((void));
void EchoOff P((void));
void Raw P((void));
void Colorize P((ColorClass cc, int continuation));
+char *InterpretFileName P((char *name, char *dir));
+void DoSleep P((int n));
char *UserName P((void));
char *HostName P((void));
void StartClockTimer P((long millisec));
void DisplayWhiteClock P((long timeRemaining, int highlight));
void DisplayBlackClock P((long timeRemaining, int highlight));
+void UpdateLogos P((int display));
int LoadGameTimerRunning P((void));
int StopLoadGameTimer 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 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));
int StartChildProcess P((char *cmdLine, char *dir, ProcRef *pr));
void DestroyChildProcess P((ProcRef pr, int/*boolean*/ signal));
void InterruptChildProcess P((ProcRef pr));
+void RunCommand P((char *buf));
int OpenTelnet P((char *host, char *port, ProcRef *pr));
int OpenTCP P((char *host, char *port, ProcRef *pr));
char *buf, int count, int error));
extern ProcRef cmailPR;
+extern int shiftKey, controlKey;
+
+/* in xgamelist.c or winboard.c */
+void GLT_ClearList();
+void GLT_DeSelectList();
+void GLT_AddToList( char *name );
+Boolean GLT_GetFromList( int index, char *name );
+
+extern char lpUserGLT[];
+extern char *homeDir;
/* these are in wgamelist.c */
void GameListPopUp P((FILE *fp, char *filename));
void GameListDestroy P((void));
/* these are in wedittags.c */
-void EditTagsPopUp P((char *tags));
+void EditTagsPopUp P((char *tags, char **dest));
void TagsPopUp P((char *tags, char *msg));
void TagsPopDown P((void));
+void ParseIcsTextColors P((void));
void ICSInitScript P((void));
void StartAnalysisClock P((void));
-void AnalysisPopUp P((char *title, char *label));
-void AnalysisPopDown P((void));
+void EngineOutputPopUp P((void));
+void EgineOutputPopDown P((void));
void SetHighlights P((int fromX, int fromY, int toX, int toY));
void ClearHighlights P((void));
void SetPremoveHighlights P((int fromX, int fromY, int toX, int toY));
void ClearPremoveHighlights P((void));
+void AnimateAtomicCapture P((Board board, int fromX, int fromY, int toX, int toY));
void ShutDownFrontEnd P((void));
void BoardToTop P((void));
void AnimateMove P((Board board, int fromX, int fromY, int toX, int toY));
void HistorySet P((char movelist[][2*MOVE_LEN], int first, int last, int current));
void FreezeUI P((void));
void ThawUI P((void));
+void ChangeDragPiece P((ChessSquare piece));
+void CopyFENToClipboard P((void));
extern char *programName;
+extern int commentUp;
+extern char *firstChessProgramNames;
+
+void GreyRevert P((Boolean grey));
+void MarkMenuItem P((char *menuRef, int state));
+void EnableNamedMenuItem P((char *menuRef, int state));
typedef struct FrontEndProgramStats_TAG {
int which;
void SetProgramStats P(( FrontEndProgramStats * stats )); /* [AS] */
-#endif
+void EngineOutputPopUp P((void));
+void EngineOutputPopDown P((void));
+int EngineOutputIsUp P((void));
+int EngineOutputDialogExists P((void));
+void EvalGraphPopUp P((void));
+Boolean EvalGraphIsUp P((void));
+int EvalGraphDialogExists P((void));
+void SlavePopUp P((void));
+
+/* these are in xhistory.c */
+Boolean MoveHistoryIsUp P((void));
+void HistoryPopUp P((void));
+
+#endif /* XB_FRONTEND */