Details
-
Suggestion
-
Resolution: Unresolved
-
P4: Low
-
None
-
None
-
None
Description
The mask could perhaps be an image (where alpha < threshold makes that part of the window transparent) or a Shape or some sort of rendered layer or maybe just any part of the window that is transparent.
Since most window systems do compositing, it's already been possible to have visually transparent windows since Qt 5.0. And since 5.11, a MouseArea or a Pointer Handler can avoid handling events outside a masked shape (using Item.containmentMask). But setting the window mask would allow the mouse and touch events to fall through; and it would also provide visual masking on non-compositing window managers.
This isn't very urgent since it's easy enough to do in C++ already. But we have a number of open bugs about window masking not working correctly on various platforms and in various situations. Making the mask available in QML would exacerbate those.
Attachments
Issue Links
- depends on
-
QTBUG-53575 [OS X] QQuickWindow::setMask() doesn't work
- Closed
-
QTBUG-59436 On Mac mouse clicks outside mask won't go through
- Closed
-
QTBUG-64229 setMask does not work well on retina due to QRegion resolving QRegion::Ellipse to rects without scale factor
- Closed
- relates to
-
QTBUG-21249 Window Handling
- Closed
-
QTBUG-55623 QSystemTrayIcon balloon window needs smooth rendering on high-resolution screens
- Reported
-
QTBUG-28214 Cannot make transparent (translucent) background for QQuickView
- Closed
-
QTBUG-53575 [OS X] QQuickWindow::setMask() doesn't work
- Closed
-
QTBUG-20222 setMask do not affects on DeclarativeView based window
- Closed
-
QTBUG-69906 Implement full support for QWindow::setMask on wayland
- Reported
-
QTBUG-32925 Add mask property for Item
- Closed
Gerrit Reviews
For Gerrit Dashboard: QTBUG-71951 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
198347,3 | WIP: Add Window.mask to set QWindow::setMask() from QML | dev | qt/qtdeclarative | Status: NEW | -2 | 0 |