same argDescriptor parsing for Xboard and Winbaord
[xboard.git] / winboard / winboard.h
index fab659e..3ecf46f 100644 (file)
@@ -59,6 +59,7 @@ typedef struct {
   char faceName[LF_FACESIZE];\r
   float pointSize;\r
   BYTE bold, italic, underline, strikeout;\r
+  BYTE charset;\r
 } MyFontParams;\r
 \r
 typedef struct {\r
@@ -120,8 +121,6 @@ VOID ChangeBoardSize(BoardSize newSize);
 BOOL APIENTRY MyCreateFont(HWND hwnd, MyFont *font);\r
 VOID ErrorPopDown(VOID);\r
 VOID EnsureOnScreen(int *x, int *y, int minX, int minY);\r
-typedef char GetFunc(void *getClosure);\r
-VOID ParseArgs(GetFunc get, void *cl);\r
 HBITMAP \r
 DoLoadBitmap(HINSTANCE hinst, char *piece, int squareSize, char *suffix);\r
 COLORREF ParseColorName(char *name);\r
@@ -133,6 +132,7 @@ void InitComboStrings(HANDLE hwndCombo, char **cd);
 BOOLEAN MyLoadSound(MySound *ms);\r
 BOOLEAN MyPlaySound(MySound *ms);\r
 VOID ExitArgError(char *msg, char *badArg);\r
+void SaveSettings(char* name);\r
 \r
 /* Constants */\r
 \r
@@ -172,19 +172,42 @@ extern MyFont *font[NUM_SIZES][NUM_FONTS];
 #define COPY_TMP "wbcopy.tmp"\r
 #define PASTE_TMP "wbpaste.tmp"\r
 \r
-/* [AS] Layout management */\r
-typedef struct {\r
-    Boolean visible;\r
-    int x;\r
-    int y;\r
-    int width;\r
-    int height;\r
-} WindowPlacement;\r
+/* variables */\r
+extern HINSTANCE hInst;\r
+extern HWND hwndMain;\r
+extern BoardSize boardSize;\r
 \r
-VOID InitWindowPlacement( WindowPlacement * wp );\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
-VOID RestoreWindowPlacement( HWND hWnd, WindowPlacement * wp );\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
-VOID ReattachAfterMove( LPRECT lprcOldPos, int new_x, int new_y, HWND hWndChild, WindowPlacement * pwpChild );\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
+VOID ReattachAfterMove( LPRECT lprcOldPos, int new_x, int new_y, HWND hWndChild, WindowPlacement * pwpChild );\r
 VOID ReattachAfterSize( LPRECT lprcOldPos, int new_w, int new_h, HWND hWndChild, WindowPlacement * pwpChild );\r
+BOOL GetActualPlacement( HWND hWnd, WindowPlacement * wp );\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
+extern HWND moveHistoryDialog;\r
+\r
+VOID EvalGraphSet( int first, int last, int current, ChessProgramStats_Move * pvInfo );\r
+VOID EvalGraphPopUp();\r
+VOID EvalGraphPopDown();\r
+extern HWND evalGraphDialog;\r
+\r
+extern HWND engineOutputDialog;\r
+\r
+VOID ShowGameListProc(void);\r
+extern HWND gameListDialog;\r
+\r
+VOID EditTagsProc(void);\r
+extern HWND editTagsDialog;\r