diff --git a/effects/presentwindows/presentwindows.cpp b/effects/presentwindows/presentwindows.cpp index e81214265d..3d64202748 100644 --- a/effects/presentwindows/presentwindows.cpp +++ b/effects/presentwindows/presentwindows.cpp @@ -28,6 +28,10 @@ along with this program. If not, see . #include #include +#ifdef KWIN_HAVE_OPENGL_COMPOSITING +#include +#endif + #include #include @@ -256,6 +260,14 @@ void PresentWindowsEffect::paintWindow( EffectWindow *w, int mask, QRegion regio QPoint point( rect.x() + rect.width() * 0.95, rect.y() + rect.height() * 0.95 ); m_windowData[w].iconFrame->setPosition( point ); +#ifdef KWIN_HAVE_OPENGL_COMPOSITING + if( effects->compositingType() == KWin::OpenGLCompositing && data.shader ) + { + data.shader->setUniform( "textureWidth", 1.0f ); + data.shader->setUniform( "textureHeight", 1.0f ); + data.shader->setUniform( "opacity", (float)(0.9 * data.opacity * m_decalOpacity * 0.75) ); + } +#endif m_windowData[w].iconFrame->render( region, 0.9 * data.opacity * m_decalOpacity, 0.75 ); } if( m_showCaptions ) @@ -263,6 +275,14 @@ void PresentWindowsEffect::paintWindow( EffectWindow *w, int mask, QRegion regio QPoint point( rect.x() + rect.width() / 2, rect.y() + rect.height() / 2 ); m_windowData[w].textFrame->setPosition( point ); +#ifdef KWIN_HAVE_OPENGL_COMPOSITING + if( effects->compositingType() == KWin::OpenGLCompositing && data.shader ) + { + data.shader->setUniform( "textureWidth", 1.0f ); + data.shader->setUniform( "textureHeight", 1.0f ); + data.shader->setUniform( "opacity", (float)(0.9 * data.opacity * m_decalOpacity * 0.75) ); + } +#endif m_windowData[w].textFrame->render( region, 0.9 * data.opacity * m_decalOpacity, 0.75 ); } }