Add Themes dialog (WB)
[xboard.git] / winboard / winboard.h
index af8c3f9..f3b1439 100644 (file)
@@ -5,7 +5,7 @@
  * Massachusetts. \r
  *\r
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,\r
- * 2007, 2008, 2009 Free Software Foundation, Inc.\r
+ * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.\r
  *\r
  * Enhancements Copyright 2005 Alessandro Scotti\r
  *\r
@@ -85,6 +85,7 @@ typedef struct {
 typedef struct {\r
   char* name;\r
   void* data;\r
+  int flag; // [HGM] needed to indicate if data was malloc'ed or not\r
 } MySound;\r
 \r
 typedef struct {\r
@@ -121,8 +122,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,7 +132,14 @@ VOID ParseFontName(char *name, MyFontParams *mfp);
 void InitComboStrings(HANDLE hwndCombo, char **cd);\r
 BOOLEAN MyLoadSound(MySound *ms);\r
 BOOLEAN MyPlaySound(MySound *ms);\r
-VOID ExitArgError(char *msg, char *badArg);\r
+VOID ExitArgError(char *msg, char *badArg, Boolean quit);\r
+void SaveSettings(char* name);\r
+BOOL BrowseForFolder( const char * title, char * path );\r
+VOID TourneyPopup();\r
+VOID LoadEnginePopUp();\r
+VOID LoadOptionsPopup(HWND hDlg);\r
+VOID InitTextures();\r
+void ThemeOptionsPopup(HWND hwnd);\r
 \r
 /* Constants */\r
 \r
@@ -144,14 +150,13 @@ VOID ExitArgError(char *msg, char *badArg);
 #define COMMENT_FONT 4\r
 #define EDITTAGS_FONT 5\r
 #define MOVEHISTORY_FONT 6\r
-#define NUM_FONTS 7\r
+#define GAMELIST_FONT 7\r
+#define NUM_FONTS 8\r
 \r
 /* Positions of some menu items.  Origin is zero and separator lines count. */\r
 /* It's gross that these are needed. */\r
-#define ACTION_POS 2    /* Posn of "Action" on menu bar */\r
-#define OPTIONS_POS 4   /* Posn of "Options" on menu bar */\r
-#define ICS_POS 4       /* Posn of "ICS " on Options menu */\r
-#define SOUNDS_POS 6     /* Posn of "Sounds" on Options menu */\r
+#define ACTION_POS 4    /* Posn of "Action" on menu bar */\r
+#define OPTIONS_POS 6   /* Posn of "Options" on menu bar */\r
 /* end grossness */\r
 \r
 extern MyFont *font[NUM_SIZES][NUM_FONTS];\r
@@ -183,49 +188,27 @@ extern BoardSize boardSize;
 \r
 typedef enum {\r
   W_Main, W_Console, W_Comment, W_Tags, W_GameList, \r
-  W_MoveHist, W_EngineOut, W_GameList, NUM_WINDOWS\r
+  W_MoveHist, W_EngineOut, NUM_WINDOWS\r
 } WindowID;\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
-\r
 extern WindowPlacement placementTab[NUM_WINDOWS];\r
 extern HWND hwndTab[NUM_WINDOWS]; // this remains pure front-end.\r
 \r
+void Translate( HWND hDlg, int id);
 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
-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
@@ -233,3 +216,4 @@ extern HWND gameListDialog;
 \r
 VOID EditTagsProc(void);\r
 extern HWND editTagsDialog;\r
+extern int screenWidth, screenHeight;