- Draw caption for all windows.
- Correctly apply alpha to text as well (in OpenGL mode) svn path=/trunk/KDE/kdebase/workspace/; revision=707675
This commit is contained in:
parent
1a587da8d6
commit
106fbc23ab
1 changed files with 8 additions and 8 deletions
|
@ -193,13 +193,12 @@ void PresentWindowsEffect::paintWindow( EffectWindow* w, int mask, QRegion regio
|
|||
{
|
||||
const WindowData& windata = mWindowData[w];
|
||||
paintWindowIcon( w, data );
|
||||
if( windata.hover > 0.0f )
|
||||
{
|
||||
QString text = w->caption();
|
||||
float centerx = w->x() + data.xTranslate + w->width() * data.xScale * 0.5f;
|
||||
float centery = w->y() + data.yTranslate + w->height() * data.yScale * 0.5f;
|
||||
paintText( text, QPointF(centerx, centery), w->width() * data.xScale - 20, windata.hover );
|
||||
}
|
||||
|
||||
QString text = w->caption();
|
||||
float centerx = w->x() + data.xTranslate + w->width() * data.xScale * 0.5f;
|
||||
float centery = w->y() + data.yTranslate + w->height() * data.yScale * 0.5f;
|
||||
float textopacity = (0.7 + 0.2*windata.hover) * data.opacity;
|
||||
paintText( text, QPointF(centerx, centery), w->width() * data.xScale - 20, textopacity );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -927,12 +926,13 @@ void PresentWindowsEffect::paintText( const QString& text, const QPointF& center
|
|||
if( effects->compositingType() == OpenGLCompositing )
|
||||
{
|
||||
GLTexture textTexture( textPixmap, GL_TEXTURE_RECTANGLE_ARB );
|
||||
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT );
|
||||
glPushAttrib( GL_CURRENT_BIT | GL_ENABLE_BIT | GL_TEXTURE_BIT );
|
||||
glEnable( GL_BLEND );
|
||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
|
||||
glColor4f( 0.0f, 0.0f, 0.0f, alpha );
|
||||
renderRoundBox( area.adjusted( -8, -3, 8, 3 ), 5 );
|
||||
textTexture.bind();
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f( 1.0f, 1.0f, 1.0f, alpha );
|
||||
const float verts[ 4 * 2 ] =
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue