Details
-
Task
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
None
-
None
Description
Currently Qt applications can only draw in a window's client area. However, some modern platforms now provide facilities for drawing in a window's frame area as well, which has become quite popular lately.
- Windows Vista and above: https://msdn.microsoft.com/en-us/library/windows/desktop/bb688195.aspx
- WinRT: http://blog.thomasnigro.fr/2015/02/11/exploring-w10-apis-windows-and-titlebar/, http://www.codes9.com/net/winrt-metro/uwp-custom-title-bar-2/ (not personally familiar but API looks similar to OS X in concept)
- OS X: https://developer.apple.com/library/mac//documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html (NSWindow.titlebarAppearsTransparent, NSFullSizeContentViewWindowMask, NSTitlebarAccessoryViewController)
- GNOME/Unity/KDE: ???
Qt should provide a means for doing this. Suggested course of action:
- New Qt window flags:
- FullSizeContentView
- NoPaintTitleBarBackground (NSWindow.titlebarAppearsTransparent on OS X)
- QWindow::effectiveGeometry() == QWindow::frameGeometry() if FullSizeContentView is set else QWindow::geometry(), though an additional concern is that "client geometry" may not necessarily be square. for example, providing the geometry of the reserved "system region" (top-left of the window on OS X, top-right of the window on Windows & WinRT) would be useful
Attachments
Issue Links
- relates to
-
QTBUG-42897 Duplicate enumeration values in Qt::WindowType
- Closed