qt6-bb10/src/plugins/platforms
Christoph Schleifenbaum f3699510d4 Cocoa: Fix icon size calculation for system tray.
The Overall goal is to make it possible to use correctly-
sized pixmaps in a predictable way, while still doing
something reasonable with small and large pixmaps.
(The recommended pixmap height is up to 18 points.)

Enable use of rectangular icons by selecting pixmaps
based on pixmap height.

Draw a low-resolution pixmap on retina displays if
there is no high-resolution pixmap available. Scale
large pixmaps to fit the available menu bar area.

Add a manual-test with various pixmap sizes

Task-number: QTBUG-33441
Change-Id: I1926181fe27cae526bae58022df3240bae9f8ac8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2014-10-22 23:32:17 +02:00
..
android Android: deadlock avoidance 2014-10-20 10:23:47 +02:00
cocoa Cocoa: Fix icon size calculation for system tray. 2014-10-22 23:32:17 +02:00
direct2d Don't use QStringLiteral in comparisons 2014-10-09 09:42:00 +02:00
directfb Update license headers and add new license files 2014-09-24 12:26:19 +02:00
eglfs Update license headers and add new license files 2014-09-24 12:26:19 +02:00
ios iOS: Don't auto-activate popup windows unless they are standalone 2014-10-20 11:42:30 +02:00
kms kms: Support QOpenGLWidget and QQuickWidget 2014-09-30 18:23:08 +02:00
linuxfb Update license headers and add new license files 2014-09-24 12:26:19 +02:00
minimal Update license headers and add new license files 2014-09-24 12:26:19 +02:00
minimalegl Update license headers and add new license files 2014-09-24 12:26:19 +02:00
offscreen Update license headers and add new license files 2014-09-24 12:26:19 +02:00
openwfd Update license headers and add new license files 2014-09-24 12:26:19 +02:00
qnx Don't use QStringLiteral in comparisons 2014-10-09 09:42:00 +02:00
windows Windows: Initialize the mouse cursor resources 2014-10-22 09:04:23 +02:00
winrt Revert "winrt: Remove depth/stencil from the default window format" 2014-09-29 16:09:35 +02:00
xcb XCB: Don't trigger less specific shortcuts 2014-10-22 23:18:00 +02:00
README Remove mentioning of 5.0 Alpha from QPA Readme 2013-09-17 09:31:19 +02:00
platforms.pro Fix no-opengl build 2014-09-01 14:29:36 +02: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.