blob: 885760f629af139d9200b75bba197e9486eb884f (
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
|
{$IFNDEF M_MAGNETICWINDOWS}
{$DEFINE M_MAGNETICWINDOWS}
const
// For other Plugins to start snapping for their windows
// wparam: hwnd of window
// lparam: 0
// return: 0 on success, 1 on error
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
MS_MW_REMWINDOW = 'Utils/MagneticWindows/Rem';
//decide where to align on the list:
MS_MW_STL_List_Left = $00000001; //Snaps the window to the left border of the list
MS_MW_STL_List_Top = $00000002; //Snaps the window to the top border of the list
MS_MW_STL_List_Right = $00000004; //Snaps the window to the right border of the list
MS_MW_STL_List_Bottom = $00000008; //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
MS_MW_STL_Wnd_Left = $00000010; //Snaps the window with the left border to the left/right side of the list
MS_MW_STL_Wnd_Top = $00000020; //Snaps the window with the top border to the top/bottom side of the list
MS_MW_STL_Wnd_Right = $00000040; //Snaps the window with the right border to the left/right side of the list
MS_MW_STL_Wnd_Bottom = $00000080; //Snaps the window with the bottom border to the top/bottom side of the list
MS_MW_STL_Wnd_FullWidth = (MS_MW_STL_Wnd_Left or MS_MW_STL_Wnd_Right);
//Snaps to the top/bottom of the list and spans over the full width
MS_MW_STL_Wnd_FullHeight = (MS_MW_STL_Wnd_Top or 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
MS_MW_SNAPTOLIST = 'Utils/MagneticWindows/SnapToList';
// Helper functions
{$IFNDEF MW_NO_HELPPER_FUNCTIONS}
function MagneticWindows_AddWindow(hWnd:HWND):integer;
begin
if ServiceExists(MS_MW_ADDWINDOW)<>0 then
result:=CallService(MS_MW_ADDWINDOW,hWnd,0);
else
result:=-1;
end;
function MagneticWindows_RemoveWindow(hWnd:HWND):integer;
begin
if ServiceExists(MS_MW_REMWINDOW)<>0 then
result:=CallService(MS_MW_REMWINDOW,hWnd,0);
else
result:=-1;
end;
function MagneticWindows_SnapWindowToList(hWnd:HWND;MS_MW_STL_Options:integer):integer;
begin
if (ServiceExists(MS_MW_SNAPTOLIST))
result:=CallService(MS_MW_SNAPTOLIST,hWnd,MS_MW_STL_Options);
else
result:=-1;
end;
{$ENDIF}
{$ENDIF}
|