Revision 58d46fc...

Go back to digest for 9th February 2014

Features in KDE Base

Martin Gräßlin committed changes in [kwindowsystem] /:

Introduce runtime platform support in KWindowSystem

This is a change similar to the one in KWindowInfo, but with variation
to the pattern due to the static container.

There is now a generic implementation of KWindowSystem which is
completely windowing system platform independent. This implementation
delegates all methods into a KWindowSystemPrivate class.

Each windowing system platform implementation needs to provide a
subclass (e.g. KWindowSystemPrivateX11) and provide all the methods
which are delegated. To make use of a platform implementation it needs
to be included in the ctor of KWindowSystemStaticContainer.

There is a dummy implementation for all not supported windowing system
platforms.

This change also includes some API changes:
* KWindowSystem::windows() returns a copy instead of const-ref
* All methods are provided, there is no longer X11 specific methods
* private methods and enums are removed

NOTE: This change breaks the implementation for Windows and Mac OS!
They are currently excluded from build.

REVIEW: 115459

File Changes

Added 3 files
  •   src/kwindowsystem.cpp
  •   src/kwindowsystem_p.h
  •   src/kwindowsystem_p_x11.h
Modified 4 files
  •   src/CMakeLists.txt
  •   src/kwindowinfo.cpp
  •   src/kwindowsystem.h
  •   src/kwindowsystem_x11.cpp
7 files changed in total