Updated copyright notice to 2011
[xboard.git] / frontend.h
index ef79f23..490ef8c 100644 (file)
@@ -1,9 +1,13 @@
 /*
  * frontend.h -- Interface exported by all XBoard front ends
- * $Id: frontend.h,v 2.2 2003/11/06 07:22:14 mann Exp $
  *
- * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts.
- * Enhancements Copyright 1992-95 Free Software Foundation, Inc.
+ * Copyright 1991 by Digital Equipment Corporation, Maynard,
+ * Massachusetts.
+ *
+ * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,
+ * 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ *
+ * Enhancements Copyright 2005 Alessandro Scotti
  *
  * The following terms apply to Digital Equipment Corporation's copyright
  * interest in XBoard:
  * SOFTWARE.
  * ------------------------------------------------------------------------
  *
- * The following terms apply to the enhanced version of XBoard distributed
- * by the Free Software Foundation:
+ * The following terms apply to the enhanced version of XBoard
+ * distributed by the Free Software Foundation:
  * ------------------------------------------------------------------------
- * This program is free software; you can redistribute it and/or modify
+ *
+ * GNU XBoard is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, either version 3 of the License, or (at
+ * your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * GNU XBoard is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- * ------------------------------------------------------------------------
- */
+ * along with this program. If not, see http://www.gnu.org/licenses/.  *
+ *
+ *------------------------------------------------------------------------
+ ** See the file ChangeLog for a revision history.  */
 
 #ifndef _FRONTEND
 #define _FRONTEND
@@ -55,6 +60,7 @@ typedef VOIDSTAR ProcRef;
 #define NoProc ((ProcRef) 0)
 typedef VOIDSTAR InputSourceRef;
 
+char *T_ P((char *s));
 void ModeHighlight P((void));
 void SetICSMode P((void));
 void SetGNUMode P((void));
@@ -79,9 +85,16 @@ void AskQuestion P((String title, String question, String replyPrefix,
 void DisplayIcsInteractionTitle P((String title));
 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 RingBell P((void));
 void PlayIcsWinSound P((void));
@@ -112,6 +125,14 @@ 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 DragPieceBegin P((int x, int y));
+void DragPieceEnd 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));
@@ -139,6 +160,15 @@ void CmailSigHandlerCallBack P((InputSourceRef isr, VOIDSTAR closure,
                                char *buf, int count, int error));
 
 extern ProcRef cmailPR;
+extern int shiftKey;
+
+/* 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[];
 
 /* these are in wgamelist.c */
 void GameListPopUp P((FILE *fp, char *filename));
@@ -147,20 +177,21 @@ void GameListHighlight P((int index));
 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 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));
@@ -168,7 +199,35 @@ void HistorySet P((char movelist[][2*MOVE_LEN], int first, int last, int current
 void FreezeUI P((void));
 void ThawUI P((void));
 extern char *programName;
-
-void SetProgramStats P(( int which, int depth, unsigned long nodes, int score, int time, char * pv )); /* [AS] */
+extern int commentUp;
+
+void GreyRevert P((Boolean grey));
+
+typedef struct FrontEndProgramStats_TAG {
+    int which;
+    int depth;
+    unsigned long nodes;
+    int score;
+    int time;
+    char * pv;
+    char * hint;
+    int an_move_index;
+    int an_move_count;
+} FrontEndProgramStats;
+
+void SetProgramStats P(( FrontEndProgramStats * stats )); /* [AS] */
+
+void EngineOutputPopUp P((void));
+void EngineOutputPopDown P((void));
+int  EngineOutputIsUp P((void));
+int  EngineOutputDialogExists P((void));
+void EvalGraphPopUp P((void));
+void EvalGraphPopDown P((void));
+Boolean EvalGraphIsUp P((void));
+int  EvalGraphDialogExists P((void));
+
+/* these are in xhistory.c  */
+Boolean MoveHistoryIsUp P((void));
+void HistoryPopUp P((void));
 
 #endif