qt6-bb10/src/plugins/platforms
Liang Qi 32c59d6856 cmake: fix cocoa and graphics on macOS
Change-Id: Ia956c74a54874f91cc0ea8e5105164de88890ff2
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-03-06 13:18:20 +00:00
..
android Android: add support for custom buttons in native MessageDialog helper 2018-09-25 14:15:40 +00:00
bsdfb Add missing override keyword found by Clang 2018-07-05 14:49:46 +00:00
cocoa cmake: fix cocoa and graphics on macOS 2019-03-06 13:18:20 +00:00
direct2d Direct2D QPA: Fix Qt include statements 2018-05-23 06:08:12 +00:00
directfb fix directfb build without EGL 2016-12-16 04:06:58 +00:00
eglfs cmake: Make it so that eglfs plugin doesn't hang on make -jN 2019-02-27 15:06:21 +00:00
haiku Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
integrity Merge remote-tracking branch 'origin/5.10' into dev 2018-01-02 09:58:44 +01:00
ios iOS: add support for custom buttons in native MessageDialog helper 2018-09-29 09:32:43 +00:00
linuxfb cmake: build linuxfb platform plugin 2019-02-11 13:25:52 +00:00
minimal cmake: build minimal platform plugin 2019-02-11 14:00:54 +00:00
minimalegl cmake: FindWrapOpenGL->WrapOpenGL 2019-02-12 17:01:02 +00:00
mirclient Add missing dead key symbols 2018-01-15 15:24:59 +00:00
offscreen cmake: build the offscreen platform plugin on macOS 2019-02-11 16:51:10 +00:00
openwfd Plugins: use reserve() to optimize memory allocations 2016-10-21 09:13:09 +00:00
qnx Add support for showWithoutActivating windows 2018-10-02 23:28:28 +00:00
vnc cmake: enable vnc platform plugin 2019-02-12 17:02:02 +00:00
wasm wasm: use config for natural scroll on safari 2018-10-01 23:20:22 +00:00
windows windows: Disable shader disk cache for all Intel GPUs 2018-10-12 14:09:38 +00:00
winrt WinRT QPA: Fix crash in QWinRTBackingStore::flush() 2018-10-12 14:42:03 +00:00
xcb Fix linkage against freetype 2019-02-11 15:00:41 +00:00
CMakeLists.txt cmake: Add the eglfs platform plugin 2019-02-15 15:08:29 +00:00
README
platforms.pro WebAssembly for QtBase 2018-08-30 06:48:33 +00:00

README

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.

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.