Changeset View
Changeset View
Standalone View
Standalone View
scene.cpp
Show First 20 Lines • Show All 393 Lines • ▼ Show 20 Line(s) | |||||
394 | 394 | | |||
395 | void Scene::windowAdded(Toplevel *c) | 395 | void Scene::windowAdded(Toplevel *c) | ||
396 | { | 396 | { | ||
397 | assert(!m_windows.contains(c)); | 397 | assert(!m_windows.contains(c)); | ||
398 | Scene::Window *w = createWindow(c); | 398 | Scene::Window *w = createWindow(c); | ||
399 | m_windows[ c ] = w; | 399 | m_windows[ c ] = w; | ||
400 | connect(c, SIGNAL(geometryShapeChanged(KWin::Toplevel*,QRect)), SLOT(windowGeometryShapeChanged(KWin::Toplevel*))); | 400 | connect(c, SIGNAL(geometryShapeChanged(KWin::Toplevel*,QRect)), SLOT(windowGeometryShapeChanged(KWin::Toplevel*))); | ||
401 | connect(c, SIGNAL(windowClosed(KWin::Toplevel*,KWin::Deleted*)), SLOT(windowClosed(KWin::Toplevel*,KWin::Deleted*))); | 401 | connect(c, SIGNAL(windowClosed(KWin::Toplevel*,KWin::Deleted*)), SLOT(windowClosed(KWin::Toplevel*,KWin::Deleted*))); | ||
402 | //A change of scale won't affect the geometry in compositor co-ordinates, but will affect the window quads. | ||||
403 | if (c->surface()) { | ||||
404 | connect(c->surface(), &KWayland::Server::SurfaceInterface::scaleChanged, this, std::bind(&Scene::windowGeometryShapeChanged, this, c)); | ||||
405 | } | ||||
402 | c->effectWindow()->setSceneWindow(w); | 406 | c->effectWindow()->setSceneWindow(w); | ||
403 | c->getShadow(); | 407 | c->getShadow(); | ||
404 | w->updateShadow(c->shadow()); | 408 | w->updateShadow(c->shadow()); | ||
405 | } | 409 | } | ||
406 | 410 | | |||
407 | void Scene::windowClosed(Toplevel *c, Deleted *deleted) | 411 | void Scene::windowClosed(Toplevel *c, Deleted *deleted) | ||
408 | { | 412 | { | ||
409 | assert(m_windows.contains(c)); | 413 | assert(m_windows.contains(c)); | ||
▲ Show 20 Lines • Show All 714 Lines • Show Last 20 Lines |