Revision 58d46fc...
Go back to digest for 9th February 2014Features in KDE Base
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
- src/kwindowsystem.cpp
- src/kwindowsystem_p.h
- src/kwindowsystem_p_x11.h
- src/CMakeLists.txt
- src/kwindowinfo.cpp
- src/kwindowsystem.h
- src/kwindowsystem_x11.cpp