kwin/libkwineffects
Martin Gräßlin c2a4f81927 Introduce a helper class to automatically push/pop Shaders
The ShaderBinder class can be used for the case that a block of code
should be executed with a given Shader being bound. This is useful for
all the cases where there is a if-block for OpenGL2 execution with a
Shader being pushed in the first line to the ShaderManager and popped in
the last line of the block. With the helper this can be simplified to:

ShaderBinder binder(myCustomShader);

or

ShaderBinder binder(ShaderManager::GenericShader);

The ctor of ShaderBinder pushes the given Shader to the stack and once
the helper goes out of scope it will be popped again from the stack.

In addition the helper can take care of OpenGL 1 compositing, that is it
just does nothing. So it can also be used where there is a shared OpenGL1
and OpenGL2 code path where the Shader should only be pushed in OpenGL2.
This basically removes all the checks for the compositing type before
pushing/popping a Shader to the stack.

REVIEW: 106521
2012-09-29 15:33:57 +02:00
..
anidata.cpp add clipping support to AnimationEffect 2012-05-10 19:35:13 +02:00
anidata_p.h Add AnimationEffect class 2011-10-27 21:40:14 +02:00
CMakeLists.txt Add CMake variable to rename kwin binaries 2012-05-10 10:25:15 +02:00
kwinanimationeffect.cpp Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
kwinanimationeffect.h add clipping support to AnimationEffect 2012-05-10 19:35:13 +02:00
kwinconfig.h.cmake Remove define KWIN_HAVE_OPENGL_COMPOSITING 2011-08-13 16:46:43 +02:00
kwineffects.cpp Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
kwineffects.h Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
kwinglobals.cpp Ensure that Extension::init() is only performed once 2012-04-22 22:29:17 +02:00
kwinglobals.h Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
kwinglplatform.cpp Initialize variables in GLPlatform 2012-06-13 09:19:27 +02:00
kwinglplatform.h More getters for GlPlatform 2012-03-04 15:21:10 +01:00
kwingltexture.cpp kwin: Don't enable/disable texturing when using shaders 2012-09-13 22:54:09 +02:00
kwingltexture.h kwin: adding proper clipping for transformed windows 2012-05-01 23:19:04 +02:00
kwingltexture_p.h kwin: cleaning up the GLTexture API 2012-01-31 23:10:58 +01:00
kwinglutils.cpp Split SceneOpenGL into a concrete SceneOpenGL1 and SceneOpenGL2 2012-09-16 21:28:11 +02:00
kwinglutils.h Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
kwinglutils_funcs.cpp Swap vsync order, trade in 1frame lag 2012-05-17 11:41:26 +02:00
kwinglutils_funcs.h Swap vsync order, trade in 1frame lag 2012-05-17 11:41:26 +02:00
kwinxrenderutils.cpp add offscreen render support to xrender 2012-03-21 00:35:31 +01:00
kwinxrenderutils.h add offscreen render support to xrender 2012-03-21 00:35:31 +01:00
Mainpage.dox
Messages.sh Improve message extraction 2011-02-20 16:02:33 +01:00