From a8f0d3298f7e5f758565ff29681c011ec901ee59 Mon Sep 17 00:00:00 2001 From: ebbyd3 <55718722+ebbyd3@users.noreply.github.com> Date: Thu, 26 Sep 2019 12:47:44 -0500 Subject: [PATCH] Fixed some minor code styling issues. Removed some minor redundant calculations for a small performance enhancement with zone detection. --- src/modules/fancyzones/lib/ZoneSet.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/modules/fancyzones/lib/ZoneSet.cpp b/src/modules/fancyzones/lib/ZoneSet.cpp index cdafc3b98e..99388b73dd 100644 --- a/src/modules/fancyzones/lib/ZoneSet.cpp +++ b/src/modules/fancyzones/lib/ZoneSet.cpp @@ -78,6 +78,8 @@ IFACEMETHODIMP ZoneSet::RemoveZone(winrt::com_ptr zone) noexcept IFACEMETHODIMP_(winrt::com_ptr) ZoneSet::ZoneFromPoint(POINT pt) noexcept { winrt::com_ptr smallestKnownZone = nullptr; + // To reduce redundant calculations, we will store the last known zones area. + int smallestKnownZoneArea = INT32_MAX; for (auto iter = m_zones.begin(); iter != m_zones.end(); iter++) { if (winrt::com_ptr zone = iter->try_as()) @@ -85,19 +87,22 @@ IFACEMETHODIMP_(winrt::com_ptr) ZoneSet::ZoneFromPoint(POINT pt) noexcept RECT* newZoneRect = &zone->GetZoneRect(); if (PtInRect(newZoneRect, pt)) { - if(smallestKnownZone == nullptr) + if (smallestKnownZone == nullptr) { smallestKnownZone = zone; + + RECT* r = &smallestKnownZone->GetZoneRect(); + smallestKnownZoneArea = (r->right-r->left)*(r->bottom-r->top); } else { - RECT* r = &smallestKnownZone->GetZoneRect(); - int knownZoneArea = (r->right-r->left)*(r->bottom-r->top); - int newZoneArea = (newZoneRect->right-newZoneRect->left)*(newZoneRect->bottom-newZoneRect->top); - if(newZoneArea