X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=frontend.h;h=490ef8c8bd8ee7f6daa8cdec77b76c746f3699f1;hb=b382d988c6f886f3a49483df9e3e36de0b6b0824;hp=ef79f23fecb51376f2d7905e79c398b320cb5339;hpb=2380bd9a886c088ba6040d99932c20cdf080fbbb;p=xboard.git diff --git a/frontend.h b/frontend.h index ef79f23..490ef8c 100644 --- a/frontend.h +++ b/frontend.h @@ -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: @@ -27,24 +31,25 @@ * 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