444
444
screen->handleEventSetEnabled (this, enable);
445
445
cScreen->preparePaintSetEnabled (this, enable);
446
446
cScreen->paintSetEnabled (this, enable);
447
cScreen->getWindowPaintListSetEnabled (this, false);
448
447
cScreen->donePaintSetEnabled (this, enable);
449
448
gScreen->glPaintOutputSetEnabled (this, enable);
450
449
gScreen->glPaintTransformedOutputSetEnabled (this, enable);
784
783
DEFAULT_Z_CAMERA - curveDistance);
787
cScreen->getWindowPaintListSetEnabled (this, paintingDndWindow);
786
if (paintingDndWindow)
787
cScreen->getWindowPaintListSetEnabled (this, true);
788
788
gScreen->glPaintTransformedOutput (attrib, sTransform3,
789
789
screen->region (), output,
792
cScreen->getWindowPaintListSetEnabled (this, !paintingDndWindow);
792
if (paintingDndWindow)
793
cScreen->getWindowPaintListSetEnabled (this, false);
794
795
if (!reflection && !paintingDndWindow)
821
822
invertTransformedVertex (attrib, sTransform3, output, br);
823
824
viewport_size = CompSize (br[0] - tl[0], br[1] - tl[1]);
826
cScreen->setWindowPaintOffset (0, 0);
1438
1439
GLMatrix wTransform (transform);
1439
1440
GLWindowPaintAttrib wAttrib (attrib);
1441
1441
CompRegion clip (region);
1443
screen->viewportForGeometry (window->geometry (), vp);
1445
1443
if (eScreen->expoActive)
1447
float opacity = 1.0;
1445
float opacity = 1.0;
1449
screen->viewportForGeometry (window->geometry (), vp);
1451
1451
zoomAnim = eScreen->optionGetExpoAnimation () ==
1452
1452
ExpoScreen::ExpoAnimationZoom;
1477
1477
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
1479
1479
wAttrib.opacity = wAttrib.opacity * opacity;
1482
/* Stretch maximized windows a little so that you don't
1483
* have an awkward gap */
1485
if (window->state () & MAXIMIZE_STATE)
1487
CompOutput *o = &screen->outputDevs ()[screen->outputDeviceForGeometry(window->geometry())];
1488
float yS = 1.0 + ((o->height () / (float) window->height ()) - 1.0f) * sigmoidProgress (eScreen->expoCam);
1489
wTransform.translate (window->x () + window->width () / 2,
1490
window->y () + window->height (),
1492
wTransform.scale (1.0f, yS, 1.0f);
1493
wTransform.translate (-(window->x () + window->width () / 2),
1494
-(window->y () + window->height ()),
1497
if (eScreen->paintingVp != vp)
1498
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
1500
mask |= PAINT_WINDOW_TRANSFORMED_MASK;
1481
/* Stretch maximized windows a little so that you don't
1482
* have an awkward gap */
1484
if (window->state () & MAXIMIZE_STATE &&
1485
!window->border ().top)
1487
CompOutput *o = &screen->outputDevs ()[screen->outputDeviceForGeometry(window->geometry())];
1488
float yS = 1.0 + ((o->height () / (float) window->height ()) - 1.0f) * sigmoidProgress (eScreen->expoCam);
1489
wTransform.translate (window->x () + window->width () / 2,
1490
window->y () + window->height (),
1492
wTransform.scale (1.0f, yS, 1.0f);
1493
wTransform.translate (-(window->x () + window->width () / 2),
1494
-(window->y () + window->height ()),
1497
if (eScreen->paintingVp != vp)
1498
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
1500
mask |= PAINT_WINDOW_TRANSFORMED_MASK;
1503
if (std::find (eScreen->dndWindows.begin(), eScreen->dndWindows.end (), window) != eScreen->dndWindows.end ())
1505
if (!eScreen->paintingDndWindow)
1507
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
1511
mask |= PAINT_WINDOW_TRANSFORMED_MASK;
1512
clip = infiniteRegion;
1503
if (std::find (eScreen->dndWindows.begin(), eScreen->dndWindows.end (), window) != eScreen->dndWindows.end ())
1505
if (!eScreen->paintingDndWindow)
1507
mask |= PAINT_WINDOW_NO_CORE_INSTANCE_MASK;
1511
mask |= PAINT_WINDOW_TRANSFORMED_MASK;
1512
clip = infiniteRegion;