Shaped shadows are not implemented yet, so disable shadows completely
for shaped windows. svn path=/trunk/KDE/kdebase/workspace/; revision=756795
This commit is contained in:
parent
5647e4684d
commit
bc5acf8268
6 changed files with 16 additions and 2 deletions
|
@ -226,3 +226,7 @@ Effects TODO
|
|||
* DimInactive flickers when switching between windows (temporarily no window becomes active)
|
||||
|
||||
- focus effect (windows waves a little when it gets focus)
|
||||
|
||||
+ shadow
|
||||
+ - make work with xrender
|
||||
+ - follow the shape of the window (currently is disabled completely using the hasOwnShadow() hack)
|
||||
|
|
|
@ -28,6 +28,8 @@ Comments
|
|||
|
||||
- mention how to turn it on
|
||||
- refer to COMPOSITE_HOWTO?
|
||||
- mention API is unstable, work in progress and whatnot
|
||||
- hmm, better mention compositing as a whole is still somewhat experimental :)
|
||||
|
||||
|
||||
Video
|
||||
|
|
|
@ -1034,6 +1034,11 @@ QRegion EffectWindowImpl::shape() const
|
|||
return sw ? sw->shape() : geometry();
|
||||
}
|
||||
|
||||
bool EffectWindowImpl::hasOwnShape() const
|
||||
{
|
||||
return toplevel->shape();
|
||||
}
|
||||
|
||||
QSize EffectWindowImpl::size() const
|
||||
{
|
||||
return toplevel->size();
|
||||
|
|
|
@ -189,6 +189,7 @@ class EffectWindowImpl : public EffectWindow
|
|||
virtual int height() const;
|
||||
virtual QRect geometry() const;
|
||||
virtual QRegion shape() const;
|
||||
virtual bool hasOwnShape() const;
|
||||
virtual QPoint pos() const;
|
||||
virtual QSize size() const;
|
||||
virtual QRect rect() const;
|
||||
|
|
|
@ -116,7 +116,7 @@ void ShadowEffect::windowClosed( EffectWindow* c )
|
|||
|
||||
bool ShadowEffect::useShadow( EffectWindow* w ) const
|
||||
{
|
||||
return !w->isDeleted() && !w->isDesktop() && !w->isDock();
|
||||
return !w->isDeleted() && !w->isDesktop() && !w->isDock() && !w->hasOwnShape();
|
||||
}
|
||||
|
||||
void ShadowEffect::addQuadVertices(QVector<float>& verts, float x1, float y1, float x2, float y2) const
|
||||
|
|
|
@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
#define KWIN_EFFECT_API_MAKE_VERSION( major, minor ) (( major ) << 8 | ( minor ))
|
||||
#define KWIN_EFFECT_API_VERSION_MAJOR 0
|
||||
#define KWIN_EFFECT_API_VERSION_MINOR 5
|
||||
#define KWIN_EFFECT_API_VERSION_MINOR 6
|
||||
#define KWIN_EFFECT_API_VERSION KWIN_EFFECT_API_MAKE_VERSION( \
|
||||
KWIN_EFFECT_API_VERSION_MAJOR, KWIN_EFFECT_API_VERSION_MINOR )
|
||||
|
||||
|
@ -513,6 +513,8 @@ class KWIN_EXPORT EffectWindow
|
|||
virtual int height() const = 0;
|
||||
virtual QRect geometry() const = 0;
|
||||
virtual QRegion shape() const = 0;
|
||||
/** @internal Do not use */
|
||||
virtual bool hasOwnShape() const = 0; // only for shadow effect, for now
|
||||
virtual QPoint pos() const = 0;
|
||||
virtual QSize size() const = 0;
|
||||
virtual QRect rect() const = 0;
|
||||
|
|
Loading…
Reference in a new issue