~bregma/compiz/lp-1072206-trusty

« back to all changes in this revision

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

  • Committer: CI bot
  • Author(s): Chris Townsend
  • Date: 2014-11-04 19:42:15 UTC
  • mfrom: (3866.1.4 compiz.trusty-0.9.11.3)
  • Revision ID: ps-jenkins@lists.canonical.com-20141104194215-yqw77nzse0bsh3w0
Prepare fixes for upstream micro-release 0.9.11.3. Fixes: 1087090, 1311788
Approved by: Stephen M. Webb, PS Jenkins bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
1461
1461
                     const CompRegion          &region,
1462
1462
                     unsigned int              mask)
1463
1463
{
 
1464
    GLMatrix            wTransform (transform);
 
1465
 
1464
1466
    if (eScreen->expoActive)
1465
1467
    {
1466
1468
        if (eScreen->expoCam > 0.0)
1486
1488
 
1487
1489
        if (opacity <= 0)
1488
1490
            mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
 
1491
 
 
1492
        /* Stretch maximized windows a little so that you don't
 
1493
         * have an awkward gap */
 
1494
        if (((window->state () & MAXIMIZE_STATE) == MAXIMIZE_STATE) &&
 
1495
            (eScreen->dndWindow != window))
 
1496
        {
 
1497
            CompOutput *o = &screen->outputDevs ()[screen->outputDeviceForGeometry(window->geometry())];
 
1498
            float yS = 1.0 + ((o->height () / (float) window->height ()) - 1.0f) * sigmoidProgress (eScreen->expoCam);
 
1499
            float xS = 1.0 + ((o->width () / (float) window->width ()) - 1.0f) * sigmoidProgress (eScreen->expoCam);
 
1500
            wTransform.translate (window->x () + window->width (),
 
1501
                                  window->y () + window->height (),
 
1502
                                  0.0f);
 
1503
            wTransform.scale (xS, yS, 1.0f);
 
1504
            wTransform.translate (-(window->x () + window->width ()),
 
1505
                                  -(window->y () + window->height ()),
 
1506
                                  0.0f);
 
1507
        }
1489
1508
    }
1490
1509
 
1491
 
    return gWindow->glPaint (attrib, transform, region, mask);
 
1510
    return gWindow->glPaint (attrib, wTransform, region, mask);
1492
1511
}
1493
1512
 
1494
1513
bool