blob: 73d182c90e3b287d54c119b690382623da24b101 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#ifndef __M_MAGNETICWINDOWS_H__
#define __M_MAGNETICWINDOWS_H__
//#include "../include/newpluginapi.h"
// For other Plugins to start snapping for their windows
// wparam: hwnd of window
// lparam: 0
// return: 0 on success, 1 on error
#define MS_MW_ADDWINDOW "Utils/MagneticWindows/Add"
// For other Plugins to stop snapping for their windows
// wparam: hwnd of window
// lparam: 0
// return: 0 on success, 1 on error
#define MS_MW_REMWINDOW "Utils/MagneticWindows/Rem"
//decide where to align on the list:
#define MS_MW_STL_List_Left 0x00000001 //Snaps the window to the left border of the list
#define MS_MW_STL_List_Top 0x00000002 //Snaps the window to the top border of the list
#define MS_MW_STL_List_Right 0x00000004 //Snaps the window to the right border of the list
#define MS_MW_STL_List_Bottom 0x00000008 //Snaps the window to the bottom border of the list
//decide with what side (of the window you want to snap) to snap to the list
#define MS_MW_STL_Wnd_Left 0x00000010 //Snaps the window with the left border to the left/right side of the list
#define MS_MW_STL_Wnd_Top 0x00000020 //Snaps the window with the top border to the top/bottom side of the list
#define MS_MW_STL_Wnd_Right 0x00000040 //Snaps the window with the right border to the left/right side of the list
#define MS_MW_STL_Wnd_Bottom 0x00000080 //Snaps the window with the bottom border to the top/bottom side of the list
#define MS_MW_STL_Wnd_FullWidth (MS_MW_STL_Wnd_Left | MS_MW_STL_Wnd_Right)
//Snaps to the top/bottom of the list and spans over the full width
#define MS_MW_STL_Wnd_FullHeight (MS_MW_STL_Wnd_Top | MS_MW_STL_Wnd_Bottom)
//Snaps to the left/right of the list and spans over the full height
// to place the window in the list combine f.e. MS_MW_STL_List_Left | MS_MW_STL_Wnd_Right | *vetical alignment*
//For other Plugins to snap a window to the list for other Plugins
// wparam: hwnd of window
// lparam: combination of the above constants MS_MW_STL_*
// return: 0 on success, 1 on error
#define MS_MW_SNAPTOLIST "Utils/MagneticWindows/SnapToList"
// Helper functions
#ifndef _MW_NO_HELPPER_FUNCTIONS
static inline int MagneticWindows_AddWindow(HWND hWnd)
{
if (ServiceExists(MS_MW_ADDWINDOW))
{
return CallService(MS_MW_ADDWINDOW, (WPARAM) hWnd, 0);
}
else
{
return -1;
}
}
static inline int MagneticWindows_RemoveWindow(HWND hWnd)
{
if (ServiceExists(MS_MW_REMWINDOW))
{
return CallService(MS_MW_REMWINDOW, (WPARAM) hWnd, 0);
}
else
{
return -1;
}
}
static inline int MagneticWindows_SnapWindowToList(HWND hWnd, int MS_MW_STL_Options)
{
if (ServiceExists(MS_MW_SNAPTOLIST))
{
return CallService(MS_MW_SNAPTOLIST, (WPARAM) hWnd, (LPARAM) MS_MW_STL_Options);
}
else
{
return -1;
}
}
#endif
#endif // __M_MAGNETICWINDOWS_H__
|