Fix multi-leg promotions
[xboard.git] / engineoutput.h
index febbd34..21bb6d1 100644 (file)
@@ -1,7 +1,8 @@
 /*
  * wengineo.h -- Clipboard routines for WinBoard
  *
- * Copyright 2000,2009 Free Software Foundation, Inc.
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free
+ * Software Foundation, Inc.
  *
  * Enhancements Copyright 2005 Alessandro Scotti
  *
 
 // [HGM] same for output fields (note that there are two of each type, one per color)
 #define nColorIcon 1
-#define nStateIcon 2
-#define nLabel     3
+#define nLabel     2
+#define nStateIcon 3
 #define nStateData 4
 #define nLabelNPS  5
-#define nMemo      6
+#define nMemo      6 /* must match the ranking of the TextBox in following option list! */
+
+#define STRIDE 7 /* must match the number of option in one pane! */
+#define MEMO  (nMemo-1)
 
 /* Module variables */
 #define H_MARGIN            2
 
 #define ICON_SIZE           14
 
-#define STATE_UNKNOWN   -1
-#define STATE_THINKING   0
-#define STATE_IDLE       1
-#define STATE_PONDERING  2
-#define STATE_ANALYZING  3
+enum ENGINE_STATE { STATE_UNKNOWN, STATE_THINKING, STATE_IDLE, STATE_PONDERING, STATE_ANALYZING };
 
 extern int  windowMode;
+extern char exclusionHeader[];
+extern int highTextStart[2], highTextEnd[2], endPV;
 
 // back-end called by front-end
-void SetEngineState( int which, int state, char * state_data );
+void SetEngineState( int which, enum ENGINE_STATE state, char * state_data );
 
 // front-end called by back-end
+void SetEngineColorIcon( int which );
 void SetIcon( int which, int field, int nIcon );
 void DoSetWindowText(int which, int field, char *s_label);
 void InsertIntoMemo( int which, char * text, int where );
 void DoClearMemo(int which);
 void ResizeWindowControls( int mode );
-int EngineOutputDialogExists();
-
+int  EngineOutputDialogExists();
+void SetEngineOutputTitle( char *title );
+void Collapse P((int colNr));
+void InitEngineOutput P((Option *opt, Option *memo2)); // XB only
+void DrawWidgetIcon P((Option *opt, int nIcon)); // XB only