From 6ce3896800e92c0c51ebb72d86191f526af66971 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 8 Apr 2006 00:56:43 +0000 Subject: add getAbsolutePosition --- lib/gui/ewidget.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/gui/ewidget.cpp') diff --git a/lib/gui/ewidget.cpp b/lib/gui/ewidget.cpp index ef784997..7c50f4af 100644 --- a/lib/gui/ewidget.cpp +++ b/lib/gui/ewidget.cpp @@ -199,6 +199,21 @@ void eWidget::setTransparent(int transp) m_vis &=~wVisTransparent; } +ePoint eWidget::getAbsolutePosition() +{ + eWidget *root = this; + ePoint abspos = position(); + + while (root && !root->m_desktop) + { + root = root->m_parent; + assert(root); + abspos += root->position(); + } + + return abspos; +} + void eWidget::mayKillFocus() { setFocus(0); -- cgit v1.2.3