[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kde-workspace/KDE/4.11] kwin/effects/trackmouse: make trackmouse FX account paintdata scale/trans
From: Thomas_Lübking <thomas.luebking () gmail ! com>
Date: 2014-07-09 16:04:40
Message-ID: E1X4uMK-0004yf-BB () scm ! kde ! org
[Download RAW message or body]
Git commit e9919695e57612055acfc685707210c00a42ce00 by Thomas Lübking.
Committed on 05/06/2014 at 18:16.
Pushed by luebking into branch 'KDE/4.11'.
make trackmouse FX account paintdata scale/trans
REVIEW: 118537
BUG: 333012
FIXED-IN: 4.11.12
M +7 -3 kwin/effects/trackmouse/trackmouse.cpp
http://commits.kde.org/kde-workspace/e9919695e57612055acfc685707210c00a42ce00
diff --git a/kwin/effects/trackmouse/trackmouse.cpp \
b/kwin/effects/trackmouse/trackmouse.cpp index e0dc90b..b841b72 100644
--- a/kwin/effects/trackmouse/trackmouse.cpp
+++ b/kwin/effects/trackmouse/trackmouse.cpp
@@ -135,10 +135,12 @@ void TrackMouseEffect::paintScreen(int mask, QRegion region, \
ScreenPaintData& da glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
QMatrix4x4 matrix(modelview);
const QPointF p = m_lastRect[0].topLeft() + \
QPoint(m_lastRect[0].width()/2.0, m_lastRect[0].height()/2.0); + const float x \
= p.x()*data.xScale() + data.xTranslation(); + const float y = \
p.y()*data.yScale() + data.yTranslation(); for (int i = 0; i < 2; ++i) {
- matrix.translate(p.x(), p.y(), 0.0);
+ matrix.translate(x, y, 0.0);
matrix.rotate(i ? -2*m_angle : m_angle, 0, 0, 1.0);
- matrix.translate(-p.x(), -p.y(), 0.0);
+ matrix.translate(-x, -y, 0.0);
if (shader) {
shader->setUniform(GLShader::ModelViewMatrix, matrix);
shader->setUniform(GLShader::Saturation, 1.0);
@@ -177,7 +179,9 @@ void TrackMouseEffect::paintScreen(int mask, QRegion region, \
ScreenPaintData& da const QRect &rect = m_lastRect[i];
xcb_render_composite(connection(), XCB_RENDER_PICT_OP_OVER, picture, \
XCB_RENDER_PICTURE_NONE,
effects->xrenderBufferPicture(), 0, 0, 0, 0,
- rect.x(), rect.y(), rect.width(), rect.height());
+ qRound((rect.x()+rect.width()/2.0)*data.xScale() - \
rect.width()/2.0 + data.xTranslation()), + \
qRound((rect.y()+rect.height()/2.0)*data.yScale() - rect.height()/2.0 + \
data.yTranslation()), + rect.width(), rect.height());
}
}
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic