KWin/GSoC/Modularization

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Modularization of KWin

Removing Scene dependency from Core

Use of Workspace

  • only scene_open_glx.cpp
    • QTimer::singleShot(0, Workspace::self(), SLOT(fallbackToXRenderCompositing()));
  • scene_xrender.cpp
    • QTimer::singleShot(0, Workspace::self(), SLOT(finishCompositing()));
    • Workspace::self()->decorationHasAlpha()

Use of Toplevel (in Scene::Window)

  • scene.cpp
    • toplevel->shape()
    • toplevel->frameId()
    • toplevel->clientPos()
    • toplevel->clientSize()
    • toplevel->isOnCurrentDesktop()
    • toplevel->isOnCurrentActivity()
    • toplevel->geometry()
    • toplevel->opacity()
    • toplevel->hasAlpha()
    • toplevel->visibleRect().size()
  • scene_opengl.cpp
    • toplevel->damage()
    • toplevel->windowPixmap()
    • toplevel->size()
    • toplevel->depth()
    • toplevel->resetDamage
    • toplevel->clientPos()
    • toplevel->clientSize()
    • toplevel->visibleRect()
    • toplevel->hasAlpha()
  • scene_xrender.cpp
    • toplevel->damage()
    • toplevel->windowPixmap()
    • toplevel->resetDamage
    • toplevel->rect()
    • toplevel)->decorationRect()
    • toplevel->visibleRect()
    • toplevel->clientPos()
    • toplevel->clientSize()
  • scene_open_glx.cpp and scene_opengl_egl.cpp
    • void SceneOpenGL::paint(QRegion damage, ToplevelList toplevels)

Use of Client (in Scene::Window)

  • scene.cpp
    • c->mask()
    • c->isShade()
    • c->isShown(true);
    • c->isMinimized()
    • c->clientGroup()
    • c->isHiddenInternal()
    • client->decorationRect()
    • client->layoutDecorationRects()
    • c->effectWindow()
  • scene_opengl.cpp
    • client->noBorder()
    • client->decorationPixmapRequiresRepaint();
    • client->ensureDecorationPixmapsPainted();
    • client->layoutDecorationRects()
    • client->leftDecoPixmap();
    • client->topDecoPixmap();
    • client->rightDecoPixmap();
    • client->bottomDecoPixmap();
  • scene_xrender.cpp
    • client->decorationRect();
    • client->noBorder()
    • client->ensureDecorationPixmapsPainted();
    • client->leftDecoPixmap();
    • client->topDecoPixmap();
    • client->rightDecoPixmap();
    • client->bottomDecoPixmap();

Use of Deleted (in Scene::Window)

Besides checks, if dynamic_cast< Deleted* >(toplevel) != NULL, Toplevel's sublclass Deleted is used in:

  • scene_opengl.cpp
    • deleted->noBorder()
    • deleted->leftDecoPixmap();
    • deleted->topDecoPixmap();
    • deleted->rightDecoPixmap();
    • deleted->bottomDecoPixmap();
    • deleted->layoutDecorationRects();
  • scene_xrender.cpp
    • deleted->decorationRect()
    • deleted->noBorder()
    • deleted->leftDecoPixmap();
    • deleted->topDecoPixmap();
    • deleted->rightDecoPixmap();
    • deleted->bottomDecoPixmap();
    • deleted->layoutDecorationRects();
    • deleted->decorationRect()