#define COPY_TMP "wbcopy.tmp"\r
#define PASTE_TMP "wbpaste.tmp"\r
\r
+/* variables */\r
+extern HINSTANCE hInst;\r
+extern HWND hwndMain;\r
+extern BoardSize boardSize;\r
+\r
+// [HGM] Some stuff to allo a platform-independent reference to windows\r
+// This should be moved to frontend.h in due time\r
+\r
+typedef enum {\r
+ W_Main, W_Console, W_Comment, W_Tags, W_GameList, \r
+ W_MoveHist, W_EngineOut, W_GameList, NUM_WINDOWS\r
+} WindowID;\r
+\r
/* [AS] Layout management */\r
typedef struct {\r
Boolean visible;\r
int height;\r
} WindowPlacement;\r
\r
-VOID InitWindowPlacement( WindowPlacement * wp );\r
+extern WindowPlacement placementTab[NUM_WINDOWS];\r
+extern HWND hwndTab[NUM_WINDOWS]; // this remains pure front-end.\r
\r
+VOID InitWindowPlacement( WindowPlacement * wp );\r
VOID RestoreWindowPlacement( HWND hWnd, WindowPlacement * wp );\r
-\r
VOID ReattachAfterMove( LPRECT lprcOldPos, int new_x, int new_y, HWND hWndChild, WindowPlacement * pwpChild );\r
-\r
VOID ReattachAfterSize( LPRECT lprcOldPos, int new_w, int new_h, HWND hWndChild, WindowPlacement * pwpChild );\r
+BOOL GetActualPlacement( HWND hWnd, WindowPlacement * wp );\r
+\r
+extern WindowPlacement wpEngineOutput;\r
+extern WindowPlacement wpEvalGraph;\r
+extern WindowPlacement wpMoveHistory;\r
+extern WindowPlacement wpGameList;\r
+extern WindowPlacement wpTags;\r
+\r
+VOID MoveHistoryPopUp();\r
+VOID MoveHistoryPopDown();\r
+VOID MoveHistorySet( char movelist[][2*MOVE_LEN], int first, int last, int current, ChessProgramStats_Move * pvInfo );\r
+BOOL MoveHistoryIsUp();\r
+extern HWND moveHistoryDialog;\r
+\r
+VOID EvalGraphSet( int first, int last, int current, ChessProgramStats_Move * pvInfo );\r
+VOID EvalGraphPopUp();\r
+VOID EvalGraphPopDown();\r
+Boolean EvalGraphIsUp();\r
+extern HWND evalGraphDialog;\r
+\r
+VOID EngineOutputPopUp();\r
+VOID EngineOutputPopDown();\r
+BOOL EngineOutputIsUp();\r
+VOID EngineOutputUpdate( FrontEndProgramStats * stats );\r
+extern HWND engineOutputDialog;\r
+\r
+VOID ShowGameListProc(void);\r
+extern HWND gameListDialog;\r
+\r
+VOID EditTagsProc(void);\r
+extern HWND editTagsDialog;\r