Commit graph

19 commits

Author SHA1 Message Date
Martin Gräßlin
3125333f76 Fix logout effect including port to OpenGL 2
The logout effect was rather broken. First of all it was
excluded from build if OpenGL ES is present at build time. The
reason for this is that the effect did not work with GLES.

In order to fix that the vignetting is ported over to OpenGL 2
by using a dedicated shader. As well the lod based blur is
added through a dedicated shader and uses framebuffer blit to
get the current rendered buffer before rendering the logout
window into a texture.

Last but not least the isActive method was broken and is fixed
by checking whether the logout window is around.

BUG: 303096
FIXED-IN: 4.9.0
REVIEW: 105459
2012-07-09 21:02:57 +02:00
Martin Gräßlin
1de1204ecd Drop KWIN_HAVE_OPENGL defines in effects
OpenGL is nowadays a build dependency which obsoletes the define.

REVIEW: 105023
2012-05-27 16:37:26 +02:00
Martin Gräßlin
2007a7eab8 Use namespaced parameters in signals
Required to get scripting bindings working.
2012-03-12 21:37:40 +01:00
Martin Gräßlin
fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Martin Gräßlin
987bc837d9 Remove define KWIN_HAVE_OPENGL_COMPOSITING
Due to changes in build system we have always either OpenGL or OpenGL ES.
This allows to remove the KWIN_HAVE_OPENGL_COMPOSITING define. In the
effects the define is kept as KWIN_HAVE_OPENGL which can be used in
future to build also an XRender only effect system.
2011-08-13 16:46:43 +02:00
Martin Gräßlin
640fdc7b6d PropertyNotify becomes a signal 2011-03-12 19:18:19 +01:00
Martin Gräßlin
e355700e6e EffectsHandler emits windowDeleted signal
Workspace emits a deletedRemoved signal which the EffectsHandlerImpl translates
into a windowDeleted signal.
2011-02-27 10:47:42 +01:00
Martin Gräßlin
0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Martin Gräßlin
ab6f2ba1fd EffectsHandler emits windowAdded signal
All previously existing windowAdded methods are renamed to slotWindowAdded.
EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
emitted a little bit earlier than the previous direct method call. This might
change behavior.
Another signal is added to Workspace to signal that an unmanaged is added.
2011-02-25 22:06:02 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Lucas Murray
51168e97a4 Keep the logout effect active until KWin is killed or the user cancels
the logout by using new information provided by KSMServer; Allow effects
to read and detect root window property notify events.

svn path=/trunk/KDE/kdebase/workspace/; revision=1083335
2010-02-01 07:44:27 +00:00
Lucas Murray
54a4f80a7b Render logout vignetting even if FBOs are not available.
svn path=/trunk/KDE/kdebase/workspace/; revision=1051777
2009-11-20 06:48:05 +00:00
Lucas Murray
4d1bdd5a63 Prevent jerkiness of the first two frames of the logout blur effect by
starting the animation after the render target has been created.

svn path=/trunk/KDE/kdebase/workspace/; revision=1030718
2009-10-03 07:06:51 +00:00
Thomas Lübking
51c9a0bf54 BUG: 201445
fix memleak on reconfigure and avoid heap allocation while not being in
action

svn path=/trunk/KDE/kdebase/workspace/; revision=1002976
2009-07-27 12:54:02 +00:00
Martin Gräßlin
d8178fa8c5 Do not alter window painted on top of logout window in logout effect. That is don't change saturation and don't blur.
BUG: 192318

svn path=/trunk/KDE/kdebase/workspace/; revision=966573
2009-05-11 12:14:41 +00:00
Lucas Murray
8ba7586d79 Disable logout effect blur by default as some graphics drivers don't
correctly fallback and I have yet to work out a way of accurately
detecting support.

svn path=/trunk/KDE/kdebase/workspace/; revision=935761
2009-03-06 06:10:00 +00:00
Lucas Murray
b11d863033 Cleaned up the logout effect and fixed a whole pile of bugs that I
introduced when adding the blur animation.

svn path=/trunk/KDE/kdebase/workspace/; revision=923329
2009-02-08 16:04:02 +00:00
Lucas Murray
8f8c1d31ba Added blurring during the logout effect. As this is done entirely using
mipmaps the quality isn't the best. Might add a shader later that will
generate the final image so it uses mipmaps for realtime blurring while
using a high quality blur at the end.

svn path=/trunk/KDE/kdebase/workspace/; revision=923246
2009-02-08 14:07:00 +00:00
Lucas Murray
846496d2c1 Cleaned up the effects/ directory by moving each individual effect into
its own directory, cleaned up the effect config macros and renamed
"MakeTransparent" to "Translucency" so that it matches its visible name.

svn path=/trunk/KDE/kdebase/workspace/; revision=921749
2009-02-05 15:35:38 +00:00
Renamed from effects/logout.h (Browse further)