From 96e89ddbf99f3d16869eee8fa1dcfd2a0992e674 Mon Sep 17 00:00:00 2001 From: Morten Johan Sorvig Date: Thu, 22 Mar 2012 11:21:32 +0100 Subject: [PATCH] Add QPA readme. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ibc3a95f3560af909a45d147098184c2194187932 Reviewed-by: Robin Burchell Reviewed-by: Samuel Rødal Reviewed-by: Bradley T. Hughes --- src/plugins/platforms/README | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/plugins/platforms/README diff --git a/src/plugins/platforms/README b/src/plugins/platforms/README new file mode 100644 index 0000000000..b44d04f58c --- /dev/null +++ b/src/plugins/platforms/README @@ -0,0 +1,49 @@ +The Qt Platform Abstraction - QPA + +QPA is the platform abstraction layer for Qt 5 and replaces QWS and the +platform ports from Qt 4. + +There is currently little documentation for QPA. The best approach for +developing a new platform plugin is to look at the other plugins and +see how they implement the APIs in question. The "minimal" plugin +is a good starting point. The xcb, windows, cocoa, and qnx plugins +are also actively developed and up to date. + +QPA plugins are implemented by subclassing various QPlatform* +classes. There are two "root" classes: QPlatformIntegration for +window system integration and QPlatformTheme for deeper platform +theming and integration. QStyle is not a part of QPA. + +The APIs provided by QPlatformIntegration are at this point (5.0 Alpha) +mostly stable. QPlatformTheme still has ongoing development. There +are no source or binary compatibility guarantees for the QPA classes, +meaning that a platform plugin is only guaranteed to work with the Qt +version it was developed against. API changes will however only be +made in minor releases. (5.1, 5.2, and so on.) + +Class Overview: + +QPlatformIntegration + QPlatformWindow + QPlatformBackingStore + QPlatformOpenGLContext + QPlatformSharedGraphicsCache + QPlatformFontDatabase + QPlatformClipboard + QPlatformDrag + QAbstractEventDispatcher + QPlatformInputContext + QPlatformAccessibility + QPlatformNativeInterface + QPlatformServices + +QPlatformTheme + QPlatformMenu + QPlatformMenuBar + QPlatformDialogHelper + platform palettes + platform fonts + theme hints + +src/platformsupport contains several helper classes for implementing +platform plugins on unix-like systems.