export the baseincrement size to the effectwindow and utilize it in the windowgeometry effect
BUG: 283518 REVIEW: 103033 FIXED-IN: 4.8
This commit is contained in:
parent
4cd4481663
commit
d3331eed9c
6 changed files with 22 additions and 2 deletions
1
client.h
1
client.h
|
@ -133,6 +133,7 @@ public:
|
||||||
|
|
||||||
QSize minSize() const;
|
QSize minSize() const;
|
||||||
QSize maxSize() const;
|
QSize maxSize() const;
|
||||||
|
QSize basicUnit() const;
|
||||||
virtual QPoint clientPos() const; // Inside of geometry()
|
virtual QPoint clientPos() const; // Inside of geometry()
|
||||||
virtual QSize clientSize() const;
|
virtual QSize clientSize() const;
|
||||||
virtual QRect visibleRect() const;
|
virtual QRect visibleRect() const;
|
||||||
|
|
|
@ -1443,6 +1443,12 @@ int EffectWindowImpl::height() const
|
||||||
return toplevel->height();
|
return toplevel->height();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSize EffectWindowImpl::basicUnit() const
|
||||||
|
{
|
||||||
|
Client *client = dynamic_cast<Client*>(toplevel);
|
||||||
|
return client ? client->basicUnit() : QSize(1,1);
|
||||||
|
}
|
||||||
|
|
||||||
QRect EffectWindowImpl::geometry() const
|
QRect EffectWindowImpl::geometry() const
|
||||||
{
|
{
|
||||||
return toplevel->geometry();
|
return toplevel->geometry();
|
||||||
|
|
|
@ -253,6 +253,7 @@ public:
|
||||||
virtual int y() const;
|
virtual int y() const;
|
||||||
virtual int width() const;
|
virtual int width() const;
|
||||||
virtual int height() const;
|
virtual int height() const;
|
||||||
|
virtual QSize basicUnit() const;
|
||||||
virtual QRect geometry() const;
|
virtual QRect geometry() const;
|
||||||
virtual QRegion shape() const;
|
virtual QRegion shape() const;
|
||||||
virtual int screen() const;
|
virtual int screen() const;
|
||||||
|
|
|
@ -157,7 +157,9 @@ void WindowGeometry::slotWindowStepUserMovedResized(EffectWindow *w, const QRect
|
||||||
dx = r.width() - r2.width();
|
dx = r.width() - r2.width();
|
||||||
dy = r.height() - r2.height();
|
dy = r.height() - r2.height();
|
||||||
|
|
||||||
myMeasure[1]->setText( i18nc(myResizeString, r.width(), r.height(), number(dx), number(dy) ) );
|
const QSize baseInc = w->basicUnit();
|
||||||
|
Q_ASSERT(baseInc.width() && baseInc.height());
|
||||||
|
myMeasure[1]->setText( i18nc(myResizeString, r.width()/baseInc.width(), r.height()/baseInc.height(), number(dx/baseInc.width()), number(dy/baseInc.height()) ) );
|
||||||
|
|
||||||
// calc width for bottomright element, superfluous otherwise
|
// calc width for bottomright element, superfluous otherwise
|
||||||
dx = r.right() - r2.right();
|
dx = r.right() - r2.right();
|
||||||
|
|
|
@ -1524,6 +1524,11 @@ QSize Client::maxSize() const
|
||||||
return rules()->checkMaxSize(QSize(xSizeHint.max_width, xSizeHint.max_height));
|
return rules()->checkMaxSize(QSize(xSizeHint.max_width, xSizeHint.max_height));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSize Client::basicUnit() const
|
||||||
|
{
|
||||||
|
return QSize(xSizeHint.width_inc, xSizeHint.height_inc);
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Auxiliary function to inform the client about the current window
|
Auxiliary function to inform the client about the current window
|
||||||
configuration.
|
configuration.
|
||||||
|
|
|
@ -167,7 +167,7 @@ X-KDE-Library=kwin4_effect_cooleffect
|
||||||
|
|
||||||
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
||||||
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
||||||
#define KWIN_EFFECT_API_VERSION_MINOR 181
|
#define KWIN_EFFECT_API_VERSION_MINOR 182
|
||||||
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
||||||
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
||||||
|
|
||||||
|
@ -1101,6 +1101,11 @@ public:
|
||||||
virtual int y() const = 0;
|
virtual int y() const = 0;
|
||||||
virtual int width() const = 0;
|
virtual int width() const = 0;
|
||||||
virtual int height() const = 0;
|
virtual int height() const = 0;
|
||||||
|
/**
|
||||||
|
* By how much the window wishes to grow/shrink at least. Usually QSize(1,1).
|
||||||
|
* MAY BE DISOBEYED BY THE WM! It's only for information, do NOT rely on it at all.
|
||||||
|
*/
|
||||||
|
virtual QSize basicUnit() const = 0;
|
||||||
virtual QRect geometry() const = 0;
|
virtual QRect geometry() const = 0;
|
||||||
virtual QRegion shape() const = 0;
|
virtual QRegion shape() const = 0;
|
||||||
virtual int screen() const = 0;
|
virtual int screen() const = 0;
|
||||||
|
|
Loading…
Reference in a new issue