diff --git a/src/desktop/view/Popup.cpp b/src/desktop/view/Popup.cpp index 96a73f45c..934baf50c 100644 --- a/src/desktop/view/Popup.cpp +++ b/src/desktop/view/Popup.cpp @@ -91,7 +91,7 @@ std::optional CPopup::surfaceLogicalBox() const { if (!visible()) return std::nullopt; - return CBox{t1ParentCoords(), size()}; + return CBox{coordsGlobal(), size()}; } bool CPopup::desktopComponent() const { @@ -338,14 +338,14 @@ void CPopup::reposition() { m_resource->applyPositioning(box, COORDS); } -SP CPopup::getT1Owner() { +SP CPopup::getT1Owner() const { if (m_windowOwner) return m_windowOwner->wlSurface(); else return m_layerOwner->wlSurface(); } -Vector2D CPopup::coordsRelativeToParent() { +Vector2D CPopup::coordsRelativeToParent() const { Vector2D offset; if (!m_resource) @@ -365,11 +365,11 @@ Vector2D CPopup::coordsRelativeToParent() { return offset; } -Vector2D CPopup::coordsGlobal() { +Vector2D CPopup::coordsGlobal() const { return localToGlobal(coordsRelativeToParent()); } -Vector2D CPopup::localToGlobal(const Vector2D& rel) { +Vector2D CPopup::localToGlobal(const Vector2D& rel) const { return t1ParentCoords() + rel; } @@ -483,7 +483,7 @@ bool CPopup::inert() const { return m_inert; } -PHLMONITOR CPopup::getMonitor() { +PHLMONITOR CPopup::getMonitor() const { if (!m_windowOwner.expired()) return m_windowOwner->m_monitor.lock(); if (!m_layerOwner.expired()) diff --git a/src/desktop/view/Popup.hpp b/src/desktop/view/Popup.hpp index 86b11acb5..1654fc604 100644 --- a/src/desktop/view/Popup.hpp +++ b/src/desktop/view/Popup.hpp @@ -30,10 +30,10 @@ namespace Desktop::View { virtual bool desktopComponent() const; virtual std::optional surfaceLogicalBox() const; - SP getT1Owner(); - Vector2D coordsRelativeToParent(); - Vector2D coordsGlobal(); - PHLMONITOR getMonitor(); + SP getT1Owner() const; + Vector2D coordsRelativeToParent() const; + Vector2D coordsGlobal() const; + PHLMONITOR getMonitor() const; Vector2D size() const; @@ -99,7 +99,7 @@ namespace Desktop::View { void sendScale(); void fullyDestroy(); - Vector2D localToGlobal(const Vector2D& rel); + Vector2D localToGlobal(const Vector2D& rel) const; Vector2D t1ParentCoords() const; static void bfHelper(std::vector> const& nodes, std::function, void*)> fn, void* data); };