kwin/effects
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
..
blur Do not use ShaderManager::isValid to check for OpenGL2 compositing 2012-09-29 15:33:57 +02:00
boxswitch Merge branch 'KDE/4.9' 2012-07-25 14:56:17 -03:00
coverswitch Do not use ShaderManager::isValid to check for OpenGL2 compositing 2012-09-29 15:33:57 +02:00
cube Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
dashboard Use KConfigXT in Dashboard Effect 2012-09-19 09:21:15 +02:00
desktopgrid Merge branch 'KDE/4.9' 2012-09-19 20:21:18 +02:00
dialogparent Merge branch 'KDE/4.9' 2012-08-17 17:59:49 +02:00
diminactive Use KConfigXT in DimInactive Effect 2012-09-14 10:39:27 +02:00
dimscreen Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
explosion Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
fade Pass property minimized from Client to Deleted 2012-07-22 10:06:30 +02:00
fadedesktop SVN_SILENT made messages (.desktop file) 2012-06-12 17:07:51 +02:00
fallapart Effects can provide support information through properties 2012-08-17 17:49:49 +02:00
flipswitch Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
glide Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
highlightwindow Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
invert Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
login Use KConfigXT in Login Effect 2012-09-19 09:01:59 +02:00
logout Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
lookingglass Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
magiclamp Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
magnifier Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
minimizeanimation Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
mousemark Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
outline SVN_SILENT made messages (.desktop file) 2012-08-07 18:35:48 +02:00
presentwindows Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
resize Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
scalein Getter/setters for opacity, saturation and brightness in WindowPaintData 2012-07-19 18:25:48 +02:00
screenshot Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
sheet Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
showfps Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
showpaint Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
slide Replace translation by QVector3D in Screen/Window PaintData 2012-07-19 18:25:03 +02:00
slideback Remove slot for no-longer existing signal in Slideback 2012-03-16 11:40:47 +01:00
slidingpopups Merge branch 'KDE/4.9' 2012-08-17 17:59:49 +02:00
snaphelper Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
startupfeedback Do not use ShaderManager::isValid to check for OpenGL2 compositing 2012-09-29 15:33:57 +02:00
taskbarthumbnail Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
thumbnailaside Use KConfigXT in ThumbnailAside effect 2012-09-19 10:24:04 +02:00
trackmouse Introduce a helper class to automatically push/pop Shaders 2012-09-29 15:33:57 +02:00
translucency Drop supperfluous and wrong inactive check in translucency effect 2012-09-08 19:43:01 +02:00
windowgeometry Use KConfigXT in WindowGeometry 2012-09-19 10:17:17 +02:00
wobblywindows Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
zoom Introduce dedicated OpenGL1 and OpenGL2 compositing types 2012-09-29 15:33:57 +02:00
CMakeLists.txt Fix logout effect including port to OpenGL 2 2012-07-09 21:02:57 +02:00
configs_builtins.cpp Drop KWIN_HAVE_OPENGL defines in effects 2012-05-27 16:37:26 +02:00
kwineffect.desktop SVN_SILENT made messages (.desktop file) 2012-05-28 11:08:19 +02:00
Messages.sh Remove temporary file 2008-07-02 07:04:51 +00:00