KWin/GSoC/Modularization: Difference between revisions

From KDE Community Wiki
 
(5 intermediate revisions by 2 users not shown)
Line 2: Line 2:
== Removing Scene dependency from Core ==
== Removing Scene dependency from Core ==
=== Use of Workspace ===
=== Use of Workspace ===
* scene_open_glx.cpp and scene_opengl_egl.cpp
** wspace->destroyOverlay();
** wspace->overlayWindow();
** wspace->createOverlay();
** wspace->setupOverlay(buffer);


* only scene_open_glx.cpp
* only scene_open_glx.cpp
Line 12: Line 7:


* scene_xrender.cpp
* scene_xrender.cpp
** wspace->createOverlay();
** Workspace::self()->decorationHasAlpha()
** wspace->setupOverlay(None);
 
** wspace->overlayWindow()
== Use of Toplevel (in Scene::Window) ==
** wspace->destroyOverlay();
*scene.cpp
** wspace->setOverlayShape(reg);
**toplevel->shape()
** wspace->showOverlay();
**toplevel->frameId()
** wspace->hideOverlay();
**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()

Latest revision as of 10:45, 10 July 2011

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
    • 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()