mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 02:42:50 +00:00
kgreeter: pre-scale and cache the scaled background image
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
27367c93c6
commit
d1f32b2a66
1 changed files with 8 additions and 3 deletions
|
@ -88,6 +88,7 @@ private:
|
||||||
QList<QAction*> m_sessionactions;
|
QList<QAction*> m_sessionactions;
|
||||||
QList<QAction*> m_layoutactions;
|
QList<QAction*> m_layoutactions;
|
||||||
QImage m_background;
|
QImage m_background;
|
||||||
|
QImage m_backgroundscaled;
|
||||||
QImage m_rectangle;
|
QImage m_rectangle;
|
||||||
QImage m_rectanglescaled;
|
QImage m_rectanglescaled;
|
||||||
int m_timerid;
|
int m_timerid;
|
||||||
|
@ -237,14 +238,18 @@ KGreeter::~KGreeter()
|
||||||
|
|
||||||
void KGreeter::paintEvent(QPaintEvent *event)
|
void KGreeter::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
if (!m_background.isNull()) {
|
if (!m_background.isNull()) {
|
||||||
QPainter painter(this);
|
const QSize windowsize = size();
|
||||||
painter.drawImage(rect(), m_background);
|
if (m_backgroundscaled.isNull() || windowsize != m_backgroundscaled.size()) {
|
||||||
|
m_backgroundscaled = m_background.scaled(windowsize);
|
||||||
|
}
|
||||||
|
painter.drawImage(QPoint(0, 0), m_backgroundscaled);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_rectangle.isNull()) {
|
if (!m_rectangle.isNull()) {
|
||||||
m_ui.groupframe->setFrameShape(QFrame::NoFrame);
|
m_ui.groupframe->setFrameShape(QFrame::NoFrame);
|
||||||
QPainter painter(this);
|
|
||||||
QSize kgreeterrectanglesize(m_ui.groupframe->size());
|
QSize kgreeterrectanglesize(m_ui.groupframe->size());
|
||||||
kgreeterrectanglesize.rwidth() = kgreeterrectanglesize.width() * 1.06;
|
kgreeterrectanglesize.rwidth() = kgreeterrectanglesize.width() * 1.06;
|
||||||
kgreeterrectanglesize.rheight() = kgreeterrectanglesize.height() * 1.65;
|
kgreeterrectanglesize.rheight() = kgreeterrectanglesize.height() * 1.65;
|
||||||
|
|
Loading…
Add table
Reference in a new issue