X-Git-Url: http://winboard.nl/cgi-bin?p=xboard.git;a=blobdiff_plain;f=frontend.h;h=88a3e0deae2867b5e1bb5f0331d4ddc72baac0c4;hp=853c66574a3ed35dee202f9b2f911514c0121c3b;hb=ca99bd4de57d0b079024cbdf5435de1ae61d5fd9;hpb=29df666d997ad990de5376c962b154b26eb73f2f diff --git a/frontend.h b/frontend.h index 853c665..88a3e0d 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 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 @@ -79,6 +84,7 @@ 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)); @@ -112,6 +118,13 @@ 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 StartChildProcess P((char *cmdLine, char *dir, ProcRef *pr)); void DestroyChildProcess P((ProcRef pr, int/*boolean*/ signal)); @@ -153,8 +166,8 @@ 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)); @@ -169,6 +182,18 @@ 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, char * hint )); /* [AS] */ +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] */ #endif