Add PLUGIN_CLASS_NAME to qtbase plugins
[profile/ivi/qtbase.git] / src / plugins / platforms / README
1 The Qt Platform Abstraction - QPA
2
3 QPA is the platform abstraction layer for Qt 5 and replaces QWS and the
4 platform ports from Qt 4.
5
6 There is currently little documentation for QPA. The best approach for
7 developing a new platform plugin is to look at the other plugins and
8 see how they implement the APIs in question. The "minimal" plugin
9 is a good starting point. The xcb, windows, cocoa, and qnx plugins
10 are also actively developed and up to date.
11
12 QPA plugins are implemented by subclassing various QPlatform*
13 classes. There are two "root" classes: QPlatformIntegration for
14 window system integration and QPlatformTheme for deeper platform
15 theming and integration. QStyle is not a part of QPA.
16
17 The APIs provided by QPlatformIntegration are at this point (5.0 Alpha)
18 mostly stable. QPlatformTheme still has ongoing development. There
19 are no source or binary compatibility guarantees for the QPA classes,
20 meaning that a platform plugin is only guaranteed to work with the Qt
21 version it was developed against. API changes will however only be
22 made in minor releases. (5.1, 5.2, and so on.)
23
24 Class Overview:
25
26 QPlatformIntegration
27     QPlatformWindow
28     QPlatformBackingStore
29     QPlatformOpenGLContext
30     QPlatformSharedGraphicsCache
31     QPlatformFontDatabase
32     QPlatformClipboard
33     QPlatformDrag
34     QAbstractEventDispatcher
35     QPlatformInputContext
36     QPlatformAccessibility
37     QPlatformNativeInterface
38     QPlatformServices
39
40 QPlatformTheme
41     QPlatformMenu
42     QPlatformMenuBar
43     QPlatformDialogHelper
44     platform palettes
45     platform fonts
46     theme hints
47
48 src/platformsupport contains several helper classes for implementing
49 platform plugins on unix-like systems.