1 /* 2 * wengineo.h -- Clipboard routines for WinBoard 3 * 4 * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015 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 enum ENGINE_STATE { STATE_UNKNOWN, STATE_THINKING, STATE_IDLE, STATE_PONDERING, STATE_ANALYZING }; 55 56 extern int windowMode; 57 extern char exclusionHeader[]; 58 extern int highTextStart[2], highTextEnd[2]; 59 60 // back-end called by front-end 61 void SetEngineState( int which, enum ENGINE_STATE state, char * state_data ); 62 63 // front-end called by back-end 64 void SetEngineColorIcon( int which ); 65 void SetIcon( int which, int field, int nIcon ); 66 void DoSetWindowText(int which, int field, char *s_label); 67 void InsertIntoMemo( int which, char * text, int where ); 68 void DoClearMemo(int which); 69 void ResizeWindowControls( int mode ); 70 int EngineOutputDialogExists(); 71 void SetEngineOutputTitle( char *title ); 72 void Collapse P((int colNr)); 73 void InitEngineOutput P((Option *opt, Option *memo2)); // XB only 74 void DrawWidgetIcon P((Option *opt, int nIcon)); // XB only 75