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
anidata_p.h
CMakeLists.txt
kwinanimationeffect.cpp Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
kwinanimationeffect.h
kwinconfig.h.cmake
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
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
kwingltexture.cpp kwin: Don't enable/disable texturing when using shaders 2012-09-13 22:54:09 +02:00
kwingltexture.h
kwingltexture_p.h
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
kwinxrenderutils.h
Mainpage.dox
Messages.sh