mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-28 11:58:24 +08:00
6f22c7ad19
* Persist app zone history in a separate file * Almost ready to be functionally tested * Now all unit tests pass * Bug fixes, it seems to work * Various fixups * Improved performance of FancyZones::UpdateWindowsPositions()
24 lines
1.1 KiB
C++
24 lines
1.1 KiB
C++
#pragma once
|
|
|
|
interface IFancyZonesSettings;
|
|
interface IZoneWindow;
|
|
|
|
class WindowMoveHandler
|
|
{
|
|
public:
|
|
WindowMoveHandler(const winrt::com_ptr<IFancyZonesSettings>& settings);
|
|
~WindowMoveHandler();
|
|
|
|
bool InMoveSize() const noexcept;
|
|
bool IsDragEnabled() const noexcept;
|
|
|
|
void MoveSizeStart(HWND window, HMONITOR monitor, POINT const& ptScreen, const std::map<HMONITOR, winrt::com_ptr<IZoneWindow>>& zoneWindowMap) noexcept;
|
|
void MoveSizeUpdate(HMONITOR monitor, POINT const& ptScreen, const std::map<HMONITOR, winrt::com_ptr<IZoneWindow>>& zoneWindowMap) noexcept;
|
|
void MoveSizeEnd(HWND window, POINT const& ptScreen, const std::map<HMONITOR, winrt::com_ptr<IZoneWindow>>& zoneWindowMap) noexcept;
|
|
|
|
void MoveWindowIntoZoneByIndexSet(HWND window, HMONITOR monitor, const std::vector<int>& indexSet, const std::map<HMONITOR, winrt::com_ptr<IZoneWindow>>& zoneWindowMap) noexcept;
|
|
bool MoveWindowIntoZoneByDirection(HMONITOR monitor, HWND window, DWORD vkCode, bool cycle, const std::map<HMONITOR, winrt::com_ptr<IZoneWindow>>& zoneWindowMap);
|
|
|
|
private:
|
|
class WindowMoveHandlerPrivate* pimpl;
|
|
}; |