qt6-bb10/src/plugins/platforms
Gatis Paeglis d55e3bdced xcb: remove code and macros related to Q_XCB_DEBUG
... early spring-cleaning, leaving one block of virtual
root debug code that was inappropriately conditioned on
Q_XCB_DEBUG; it now gets its own define.

Removed Q_XCB_CALL:
1) I don't know anyone who actually uses it.
2) Enabling this feature (via Q_XCB_DEBUG) fails to build
   (and has been like that for about 1 year).
3) There are better ways to debug X11 client message exchange
   (see xtrace for example).
4) Using Q_XCB_CALL is a very fragile approach. Grep for
   example for xcb_change_property and you will see that
   half of the calls are not wrapped with the Q_XCB_CALL
   macro.

This patch also removes the Q_XCB_NOOP macro. It's unclear
what its purpose was. There was a TODO comment in qxcbeglcontext.h
suggesting removal of this macro as well.  Its evaluation of its
parameter, even without Q_XCB_DEBUG, had no side-effects, so its
removal should be harmless.

Change-Id: I9fa48af454061d8b38f69f308131647cd18f85f4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Alexander Volkov <a.volkov@rusbitech.ru>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-03-10 10:24:48 +00:00
..
android Merge remote-tracking branch 'origin/5.9' into dev 2017-03-02 09:04:38 +01:00
bsdfb bsdfb plugin: Replace LGPL21 with LGPL license header 2017-02-28 15:34:35 +00:00
cocoa Remove remaining Carbon includes from QtCore, QtGui and QtWidgets 2017-03-07 01:04:40 +00:00
direct2d Merge remote-tracking branch 'origin/5.8' into dev 2016-12-13 09:39:20 +01:00
directfb fix directfb build without EGL 2016-12-16 04:06:58 +00:00
eglfs Merge remote-tracking branch 'origin/5.9' into dev 2017-02-28 13:03:36 +01:00
haiku port to modularized platformsupport libraries 2016-10-15 18:45:41 +00:00
integrity Integrity plugin: Replace LGPL21 with LGPL license header 2017-02-28 15:34:40 +00:00
ios IOS: Replace LGPL21 with LGPL license header 2017-02-28 15:34:27 +00:00
linuxfb DRM/KMS config: add support for specifying the primary screen 2017-01-18 14:48:35 +00:00
minimal Add platform font database support to 'minimal' QPA plugin 2016-12-15 20:58:46 +00:00
minimalegl Enable building EGLFS and MinimalEGL with QT_NO_OPENGL 2016-11-17 14:59:47 +00:00
mirclient Mirclient: update based on upstream development in lp:qtubuntu 2017-01-24 05:52:52 +00:00
offscreen port to modularized platformsupport libraries 2016-10-15 18:45:41 +00:00
openwfd Plugins: use reserve() to optimize memory allocations 2016-10-21 09:13:09 +00:00
qnx Merge remote-tracking branch 'origin/5.8' into dev 2016-12-13 09:39:20 +01:00
vnc Merge remote-tracking branch 'origin/5.8' into 5.9 2017-02-24 20:01:42 +01:00
windows Merge remote-tracking branch 'origin/5.9' into dev 2017-03-02 09:04:38 +01:00
winrt Merge remote-tracking branch 'origin/5.8' into dev 2017-01-30 12:46:20 +01:00
xcb xcb: remove code and macros related to Q_XCB_DEBUG 2017-03-10 10:24:48 +00:00
README
platforms.pro clean up freetype conditionals 2016-10-04 20:20:51 +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.