Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
-
None
Description
Topics
Core Animation layer-backed QWindow QTBUG-49856
Make QCocoaWindow work well when embedded in NSView hierarchies where Core Animation compositing is enabled.
Externally driven/unified animations and updates (via CVDisplayLink) QTBUG-49859
An unified invalidate/update API for raster and OpenGL QtWidgets, and Qt Quick.
QWindow embedding API QTBUG-49977
Improve API and implementation for Qt-as-plugin use cases.
Color Space support QTBUG-47660
Basic color space support: Give Qt Apps some options to get correct color management.
NSWindow-backed QWindow
Child QWindows backed by a NSWindow, giving each an independent OpenGL context.
Manual and Auto Testing
Unit tests for the Cocoa platform plugin: QTBUG-50552
OS X Raster Child Window Update Optimizations
QTBUG-54933
Code
Transition Planning
Initial development is in a separate branch. Initial integration will be mainly as opt-in modes, to ease the transition and avoid regressing for current users. (The modes are to some degree already present: environment variables
QT_MAC_WANTS_LAYER and QT_MAC_USE_NSWINDOW). Removing old code paths and selecting default configurations can be done once the new code paths are stable.
General Implementation plan
Build from the ground up:
- Implement cases in native code only (No Qt)
- Simple use cases: QOpenGLWindow, QRasterWindow
- QWidgetWindow, QQuickWindow(gui-thread rendering)
- QGLWidget
- Multithreaded OpenGL
Attachments
Issue Links
- depends on
-
QTBUG-47660 [OS X]: Fix qt_mac_displayColorSpace() so that it correctly checks the display at that point in time
- Closed
-
QTBUG-50552 Unit and manual tests for the Cocoa platform plugin
- Reported
-
QTBUG-49856 OS X: Core Animation layer-backed QWindow
- Closed
-
QTBUG-49859 OS X: Unified Expose and Update events via CVDisplayLink/drawRect
- Closed
-
QTBUG-49977 OS X: Improve QWindow embedding support
- Closed
- is required for
-
QTBUG-57831 macOS 10.12.1 fullscreen show a double toolbar
- Closed
- relates to
-
PYSIDE-1444 PySide 5.15.1 & .2 on macOS 11 (Big Sur) hangs without opening window
- Reported