Difference between revisions of "KWin/GSoC/Modularization"

Jump to: navigation, search
(Use of Client (in Scene::Window))
(Use of Workspace)
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();
 
** wspace->setupOverlay(None);
 
** wspace->overlayWindow()
 
** wspace->destroyOverlay();
 
** wspace->setOverlayShape(reg);
 
** wspace->showOverlay();
 
** wspace->hideOverlay();
 
 
** QTimer::singleShot(0, Workspace::self(), SLOT(finishCompositing()));
 
** QTimer::singleShot(0, Workspace::self(), SLOT(finishCompositing()));
 
** Workspace::self()->decorationHasAlpha()
 
** Workspace::self()->decorationHasAlpha()
 
  
 
== Use of Toplevel (in Scene::Window) ==
 
== Use of Toplevel (in Scene::Window) ==

Revision as of 09:38, 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
    • 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()

Content is available under Creative Commons License SA 4.0 unless otherwise noted.