summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/README')
-rw-r--r--src/plugins/platforms/README49
1 files changed, 49 insertions, 0 deletions
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.