~compiz-team/compiz/0.9.12

« back to all changes in this revision

Viewing changes to plugins/compiztoolbox/src/compiztoolbox.cpp

Import GLES2 branch: lp:~compiz-linaro-team/compiz-core/compiz-core.gles2

Show diffs side-by-side

added added

removed removed

Lines of Context:
465
465
        sAttrib.yTranslate = wy - g.y () +
466
466
                             window->border ().top  * sAttrib.yScale;
467
467
 
468
 
        GLFragment::Attrib fragment (sAttrib);
469
 
 
470
 
        if (window->alpha () || fragment.getOpacity () != OPAQUE)
 
468
        if (window->alpha () || sAttrib.opacity != OPAQUE)
471
469
            mask |= PAINT_WINDOW_TRANSLUCENT_MASK;
472
470
 
473
471
        wTransform.translate (g.x (), g.y (), 0.0f);
476
474
                              sAttrib.yTranslate / sAttrib.yScale - g.y (),
477
475
                              0.0f);
478
476
 
479
 
        glPushMatrix ();
480
 
        glLoadMatrixf (wTransform.getMatrix ());
481
 
 
482
477
        filter = gScreen->textureFilter ();
483
478
 
484
479
        if (baseScreen->getMipmap ())
488
483
           very ugly but necessary until the vertex stage has been made
489
484
           fully pluggable. */
490
485
        gWindow->glAddGeometrySetCurrentIndex (MAXSHORT);
491
 
        gWindow->glDraw (wTransform, fragment, infiniteRegion, mask);
 
486
        gWindow->glDraw (wTransform, sAttrib, infiniteRegion, mask);
492
487
        gWindow->glAddGeometrySetCurrentIndex (addWindowGeometryIndex);
493
488
 
494
489
        gScreen->setTextureFilter (filter);
495
490
 
496
 
        glPopMatrix ();
497
 
 
498
491
        if (iconMode != HideIcon)
499
492
        {
500
493
            icon = gWindow->getIcon (MAX_ICON_SIZE, MAX_ICON_SIZE);
535
528
        sAttrib.xTranslate = wx - g.x ();
536
529
        sAttrib.yTranslate = wy - g.y ();
537
530
 
538
 
        gWindow->geometry ().reset ();
 
531
        gWindow->vertexBuffer ()->begin ();
539
532
 
540
533
        gWindow->glAddGeometrySetCurrentIndex (MAXSHORT);
541
534
        gWindow->glAddGeometry (matrix, iconReg, infiniteRegion);
542
535
        gWindow->glAddGeometrySetCurrentIndex (addWindowGeometryIndex);
543
536
 
544
 
        if (gWindow->geometry ().vCount)
545
 
        {
546
 
            GLFragment::Attrib fragment (sAttrib);
547
 
            GLMatrix           wTransform (transform);
548
 
 
549
 
            wTransform.translate (g.x (), g.y (), 0.0f);
550
 
            wTransform.scale (sAttrib.xScale, sAttrib.yScale, 1.0f);
551
 
            wTransform.translate (sAttrib.xTranslate / sAttrib.xScale - g.x (),
552
 
                                  sAttrib.yTranslate / sAttrib.yScale - g.y (),
553
 
                                  0.0f);
554
 
 
555
 
            glPushMatrix ();
556
 
            glLoadMatrixf (wTransform.getMatrix ());
557
 
 
558
 
            gWindow->glDrawTexture (icon, fragment, mask);
559
 
 
560
 
            glPopMatrix ();
561
 
        }
 
537
        gWindow->vertexBuffer ()->end ();
 
538
 
 
539
        GLMatrix           wTransform (transform);
 
540
 
 
541
        wTransform.translate (g.x (), g.y (), 0.0f);
 
542
        wTransform.scale (sAttrib.xScale, sAttrib.yScale, 1.0f);
 
543
        wTransform.translate (sAttrib.xTranslate / sAttrib.xScale - g.x (),
 
544
                              sAttrib.yTranslate / sAttrib.yScale - g.y (),
 
545
                              0.0f);
 
546
 
 
547
        gWindow->glDrawTexture (icon, wTransform, sAttrib, mask);
562
548
    }
563
549
}
564
550