Solve WinBoard name clashes, fix zippy-analyze menu graying
[xboard.git] / engineoutput.h
1 /*
2  * wengineo.h -- Clipboard routines for WinBoard
3  *
4  * Copyright 2000, 2009, 2010, 2011, 2012 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 nLabel     2
38 #define nStateIcon 3
39 #define nStateData 4
40 #define nLabelNPS  5
41 #define nMemo      6 /* must match the ranking of the TextBox in following option list! */
42
43 #define STRIDE 7 /* must match the number of option in one pane! */
44 #define MEMO  (nMemo-1)
45
46 /* Module variables */
47 #define H_MARGIN            2
48 #define V_MARGIN            2
49 #define LABEL_V_DISTANCE    1   /* Distance between label and memo */
50 #define SPLITTER_SIZE       4   /* Distance between first memo and second label */
51
52 #define ICON_SIZE           14
53
54 #define STATE_UNKNOWN   -1
55 #define STATE_THINKING   0
56 #define STATE_IDLE       1
57 #define STATE_PONDERING  2
58 #define STATE_ANALYZING  3
59
60 extern int  windowMode;
61 extern char exclusionHeader[];
62
63 // back-end called by front-end
64 void SetEngineState( int which, int state, char * state_data );
65
66 // front-end called by back-end
67 void SetEngineColorIcon( int which );
68 void SetIcon( int which, int field, int nIcon );
69 void DoSetWindowText(int which, int field, char *s_label);
70 void InsertIntoMemo( int which, char * text, int where );
71 void DoClearMemo(int which);
72 void ResizeWindowControls( int mode );
73 int EngineOutputDialogExists();
74 void SetEngineOutputTitle( char *title );
75 void InitEngineOutput P((Option *opt, Option *memo2)); // XB only
76 void DrawWidgetIcon P((Option *opt, int nIcon)); // XB only
77