/***************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2006 Lubos Lunak You can Freely distribute this program under the GNU General Public License. See the file "COPYING" for the exact licensing terms. ******************************************************************/ #include "kwinglobals.h" #include #include "kdebug.h" #include namespace KWin { // Optimized version of QCursor::pos() that tries to avoid X roundtrips // by updating the value only when the X timestamp changes. static QPoint last_cursor_pos; static Time last_cursor_timestamp = CurrentTime; QPoint cursorPos() { last_cursor_timestamp = CurrentTime; if( last_cursor_timestamp == CurrentTime || last_cursor_timestamp != QX11Info::appTime()) { last_cursor_timestamp = QX11Info::appTime(); last_cursor_pos = QCursor::pos(); } return last_cursor_pos; } } // namespace