Fix multi-leg promotions
[xboard.git] / winboard / wsnap.h
1 /*\r
2  * Smart "snapping" for window moving and sizing\r
3  *\r
4  * Author: Alessandro Scotti (Dec 2005)\r
5  *\r
6  * Copyright 2005 Alessandro Scotti\r
7  *\r
8  * ------------------------------------------------------------------------\r
9  * GNU XBoard is free software: you can redistribute it and/or modify\r
10  * it under the terms of the GNU General Public License as published by\r
11  * the Free Software Foundation, either version 3 of the License, or (at\r
12  * your option) any later version.\r
13  *\r
14  * GNU XBoard is distributed in the hope that it will be useful, but\r
15  * WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
17  * General Public License for more details.\r
18  *\r
19  * You should have received a copy of the GNU General Public License\r
20  * along with this program. If not, see http://www.gnu.org/licenses/.  *\r
21  *\r
22  *------------------------------------------------------------------------\r
23  ** See the file ChangeLog for a revision history.  */\r
24 \r
25 #ifndef WSNAP_H_\r
26 #define WSNAP_H_\r
27 \r
28 #include <windows.h>\r
29 \r
30 #define MAX_SNAP_POINTS     12\r
31 \r
32 #define SNAP_DISTANCE       4\r
33 \r
34 typedef struct {\r
35     int x_grid[ MAX_SNAP_POINTS ];\r
36     int x_grid_len;\r
37     int y_grid[ MAX_SNAP_POINTS ];\r
38     int y_grid_len;\r
39 } SnapData;\r
40 \r
41 LRESULT OnEnterSizeMove( SnapData * snapData, HWND hWnd, WPARAM wParam, LPARAM lParam );\r
42 LRESULT OnMoving( SnapData * snapData, HWND hWnd, WPARAM wParam, LPARAM lParam );\r
43 LRESULT OnSizing( SnapData * snapData, HWND hWnd, WPARAM wParam, LPARAM lParam );\r
44 LRESULT OnExitSizeMove( SnapData * snapData, HWND hWnd, WPARAM wParam, LPARAM lParam );\r
45 \r
46 #endif // WSNAP_H_\r