[FancyZones] Improve code quality (part 2: WorkArea init) (#23030)

* init WorkArea with a rectangle
* keep the highlighted zones state in a separate class
This commit is contained in:
Seraphima Zykova
2023-01-23 20:13:05 +03:00
committed by GitHub
parent cc5633db30
commit 6f0b16de49
10 changed files with 201 additions and 162 deletions

View File

@@ -733,7 +733,17 @@ void FancyZones::AddWorkArea(HMONITOR monitor, const FancyZonesDataTypes::WorkAr
parentId = parentArea->UniqueId();
}
auto workArea = MakeWorkArea(m_hinstance, monitor, id, parentId);
FancyZonesUtils::Rect rect{};
if (monitor)
{
rect = MonitorUtils::GetWorkAreaRect(monitor);
}
else
{
rect = FancyZonesUtils::GetAllMonitorsCombinedRect<&MONITORINFO::rcWork>();
}
auto workArea = MakeWorkArea(m_hinstance, id, parentId, rect);
if (workArea)
{
m_workAreaHandler.AddWorkArea(VirtualDesktop::instance().GetCurrentVirtualDesktopId(), monitor, workArea);