Extend legality testing to drop moves
[xboard.git] / engineoutput.h
1 /*
2  * wengineo.h -- Clipboard routines for WinBoard
3  *
4  * Copyright 2000, 2009, 2010 Free Software Foundation, Inc.
5  *
6  * Enhancements Copyright 2005 Alessandro Scotti
7  *
8  * ------------------------------------------------------------------------
9  *
10  * GNU XBoard is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or (at
13  * your option) any later version.
14  *
15  * GNU XBoard is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see http://www.gnu.org/licenses/.  *
22  *
23  *------------------------------------------------------------------------
24  ** See the file ChangeLog for a revision history.  */
25
26 // [HGM] define numbers to indicate icons, for referring to them in platform-independent way
27 #define nColorBlack   1
28 #define nColorWhite   2
29 #define nColorUnknown 3
30 #define nClear        4
31 #define nPondering    5
32 #define nThinking     6
33 #define nAnalyzing    7
34
35 // [HGM] same for output fields (note that there are two of each type, one per color)
36 #define nColorIcon 1
37 #define nStateIcon 2
38 #define nLabel     3
39 #define nStateData 4
40 #define nLabelNPS  5
41 #define nMemo      6
42
43 /* Module variables */
44 #define H_MARGIN            2
45 #define V_MARGIN            2
46 #define LABEL_V_DISTANCE    1   /* Distance between label and memo */
47 #define SPLITTER_SIZE       4   /* Distance between first memo and second label */
48
49 #define ICON_SIZE           14
50
51 #define STATE_UNKNOWN   -1
52 #define STATE_THINKING   0
53 #define STATE_IDLE       1
54 #define STATE_PONDERING  2
55 #define STATE_ANALYZING  3
56
57 extern int  windowMode;
58
59 // back-end called by front-end
60 void SetEngineState( int which, int state, char * state_data );
61
62 // front-end called by back-end
63 void SetIcon( int which, int field, int nIcon );
64 void DoSetWindowText(int which, int field, char *s_label);
65 void InsertIntoMemo( int which, char * text, int where );
66 void DoClearMemo(int which);
67 void ResizeWindowControls( int mode );
68 int EngineOutputDialogExists();
69