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