X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.h;h=fab659ec0825a3cbf7b569d3c87920784de07cdf;hb=d016fb202fe45795e630e22ba516e754cf694ea6;hp=5823b2e0f8064578507c32f3d4750cc55ac430fb;hpb=05bc30b15e31c427ce208495a889e9ff36e6642b;p=xboard.git diff --git a/winboard/winboard.h b/winboard/winboard.h index 5823b2e..fab659e 100644 --- a/winboard/winboard.h +++ b/winboard/winboard.h @@ -1,8 +1,13 @@ /* * WinBoard.h -- Definitions for Windows NT front end to XBoard * - * Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts. - * Enhancements Copyright 1992-97 Free Software Foundation, Inc. + * Copyright 1991 by Digital Equipment Corporation, Maynard, + * Massachusetts. + * + * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, + * 2007, 2008, 2009 Free Software Foundation, Inc. + * + * Enhancements Copyright 2005 Alessandro Scotti * * The following terms apply to Digital Equipment Corporation's copyright * interest in XBoard: @@ -26,24 +31,26 @@ * SOFTWARE. * ------------------------------------------------------------------------ * - * The following terms apply to the enhanced version of XBoard distributed - * by the Free Software Foundation: + * The following terms apply to the enhanced version of XBoard + * distributed by the Free Software Foundation: * ------------------------------------------------------------------------ - * This program is free software; you can redistribute it and/or modify + * + * GNU XBoard is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU XBoard is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * ------------------------------------------------------------------------ - */ + * along with this program. If not, see http://www.gnu.org/licenses/. * + * + *------------------------------------------------------------------------ + ** See the file ChangeLog for a revision history. */ + #include "resource.h" #include @@ -101,7 +108,7 @@ VOID ICSInitScript(VOID); BOOL CenterWindow(HWND hwndChild, HWND hwndParent); VOID ResizeEditPlusButtons(HWND hDlg, HWND hText, int sizeX, int sizeY, int newSizeX, int newSizeY); VOID PromotionPopup(HWND hwnd); -FILE *OpenFileDialog(HWND hWnd, BOOL write, char *defName, char *defExt, +FILE *OpenFileDialog(HWND hWnd, char *write, char *defName, char *defExt, char *nameFilt, char *dlgTitle, UINT *number, char fileTitle[MSG_SIZ], char fileName[MSG_SIZ]); VOID InputEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); @@ -112,7 +119,7 @@ BOOL ChangeColor(HWND hwnd, COLORREF *which); VOID ChangeBoardSize(BoardSize newSize); BOOL APIENTRY MyCreateFont(HWND hwnd, MyFont *font); VOID ErrorPopDown(VOID); -VOID EnsureOnScreen(int *x, int *y); +VOID EnsureOnScreen(int *x, int *y, int minX, int minY); typedef char GetFunc(void *getClosure); VOID ParseArgs(GetFunc get, void *cl); HBITMAP @@ -135,7 +142,8 @@ VOID ExitArgError(char *msg, char *badArg); #define CONSOLE_FONT 3 #define COMMENT_FONT 4 #define EDITTAGS_FONT 5 -#define NUM_FONTS 6 +#define MOVEHISTORY_FONT 6 +#define NUM_FONTS 7 /* Positions of some menu items. Origin is zero and separator lines count. */ /* It's gross that these are needed. */ @@ -163,3 +171,20 @@ extern MyFont *font[NUM_SIZES][NUM_FONTS]; #define COPY_TMP "wbcopy.tmp" #define PASTE_TMP "wbpaste.tmp" + +/* [AS] Layout management */ +typedef struct { + Boolean visible; + int x; + int y; + int width; + int height; +} WindowPlacement; + +VOID InitWindowPlacement( WindowPlacement * wp ); + +VOID RestoreWindowPlacement( HWND hWnd, WindowPlacement * wp ); + +VOID ReattachAfterMove( LPRECT lprcOldPos, int new_x, int new_y, HWND hWndChild, WindowPlacement * pwpChild ); + +VOID ReattachAfterSize( LPRECT lprcOldPos, int new_w, int new_h, HWND hWndChild, WindowPlacement * pwpChild );