#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__