D8627: [platforms/drm] Properly adjust cursor position on a rotated output
David Edmundson
noreply at phabricator.kde.org
Thu Nov 2 17:32:52 UTC 2017
davidedmundson added inline comments.
INLINE COMMENTS
> drm_output.cpp:109
> + QMatrix4x4 matrix;
> + if (m_orientation == Qt::InvertedLandscapeOrientation) {
> + matrix.translate(pixelSize().width() /2, pixelSize().height() / 2);
> for all variants of scaled, rotated and differently positioned outputs.
"by all variants of rotated" do you mean just this one?
> drm_output.cpp:116
> + matrix.translate(-m_globalPos.x(), -m_globalPos.y());
> + const QPoint p = matrix.map(globalPos) - m_backend->softwareCursorHotspot();
> drmModeMoveCursor(m_backend->fd(), m_crtc->id(), p.x(), p.y());
I'm 95% sure you need to rotate your softwareCursorHotspot.
It's something hard to see, becuase you'll only be off by a few px.
The only reason I'm not scaling the offset is because we're not scaling the contents of the cursor planet (which is arguably wrong), you are rotating it.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D8627
To: graesslin, #kwin, #plasma
Cc: davidedmundson, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171102/306fa46f/attachment.html>
More information about the Plasma-devel
mailing list