Commit Graph

73 Commits (88b69ab0c482183afa4e1575d666185bbd631890)

Author SHA1 Message Date
Morten Sorvig def5901955 Reintroduce QWindow::SurfaceType
On Cocoa it makes sense to distinguish between the
two window types.

Reviewed-by: Samuel
2011-06-22 14:10:26 +02:00
Samuel Rødal 18c1d67137 Made QExposeEvent public and added exposeEvent() in QWindow.
This is needed for applications that use QBackingStore directly.
2011-06-22 09:41:10 +02:00
Samuel Rødal 176f30b137 OpenGL API refactor.
Rename QGuiGLFormat to QSurfaceFormat, and make QWindow sub-class of
QSurface and QPlatformWindow sub-class of QPlatformSurface, instead of
having QPlatformGLSurface accessor in QWindow.
2011-06-21 14:02:22 +02:00
Samuel Rødal 6ce6b8a378 Rename QWindowSurface -> QBackingStore and split into platform / public.
Also get rid of GL window surface and related classes.
2011-06-21 09:04:01 +02:00
Laszlo Agocs c84346ddff Make glx wayland backends working. 2011-06-20 10:30:30 +02:00
Samuel Rødal 6b0cd62e5e Added frameMargins() API and support in XCB plugin. 2011-06-10 12:40:56 +02:00
Samuel Rødal 4a189c188c QWindowContext / QWindowFormat refactor.
To enable having a single GL context used for multiple drawables we need
to de-couple the context class a bit more from the window class in the
plugin API. Now contexts are created stand-alone based on a GL format
and a share context, and when calling makeCurrent() a desired surface
is specified. This maps well to GLX, EGL, Cocoa, AGL, and WGL, which all
support this use case.

QWindowContext is renamed to QGuiGLContext, and QWindowFormat is renamed
to QGuiGLFormat. We have the ability to introduce a pbuffer or similar
other offscreen GL drawable abstraction in the future.
2011-06-10 09:24:56 +02:00
Samuel Rødal 078e4ef6c7 Made tst_QWidget::updateWhileMinimized() pass.
This requires adding a couple of window system interface events, namely
Map, Unmap, and Expose. When a widget is minimized on X11 it is
unmapped, and thus update requests should not be delivered. Instead the
event will delivered when the widget is mapped, which causes an Expose
event to be sent. The Unmap and Expose event thus need to be handled in
QWidgetWindow, and Map is also added for the purpose of API symmetry
(and for future needs).
2011-06-06 16:03:38 +02:00
Laszlo Agocs 1f456b4cbb Add support for mouse and keyboard grab.
Reviewed-by: Samuel Rødal
2011-06-03 11:59:15 +02:00
Laszlo Agocs 589a562c01 Fix isTopLevel() in QWindow.
This also makes modal hints set properly for dialogs so the
additional checks during active window change are not needed
anymore.

Reviewed-by: Samuel Rødal
2011-05-31 10:45:24 +02:00
Samuel Rødal 1894da8186 Added QWindow::setTransientParent().
Make the transient parent relationship explicit instead of having it
encoded through the window flags.
2011-05-23 13:46:18 +02:00
Samuel Rødal c5d1f23942 Remove superfluous setter / getter for QWindowFormat in QWindow. 2011-05-23 09:52:14 +02:00
Lars Knoll fd7bfc6184 Add QGuiApp::topLevelAt and fix visibility flag
Add and remove windows to the list of top level windows.
Correctly set the visibility flag for windows and implement
a QGuiApplication::topLevelAt() method that uses the
QPlatformScreen.
2011-05-22 13:52:17 +02:00
Samuel Rødal af4e5576f4 Added QGuiApplication::activeWindow(). 2011-05-20 13:45:55 +02:00
Samuel Rødal ea7277690d Better setWindowFlags() support in XCB window.
We need to re-create the native window in setParent, as used to be done
in QWidgetPrivate::setParent_sys in qwidget_x11.cpp.
2011-05-19 10:53:30 +02:00
Samuel Rødal 516f4e283b Add QWindow::setWindowModality().
Also set corresponding window manager hints in xcb plugin.
2011-05-18 09:32:17 +02:00
Samuel Rødal 10a3b10726 Re-implement transient window support in XCB backend.
If a QWindow has a parent but is top-level the corresponding
QPlatformWindow should not be re-parented but instead be made transient
for the parent window if possible.
2011-05-16 17:28:56 +02:00
Samuel Rødal 25f70314e0 Implement QWindow minimum/maximum/base size hints and size increments. 2011-05-16 16:40:32 +02:00
Samuel Rødal 850b602c7a Initial QPlatformWindow window state setting API and xcb implementation. 2011-05-13 15:13:15 +02:00
Lars Knoll e577d02cc9 move files in src/gui into their final locations
Rename the guikernel subdir to kernel
and guiutil to util.
2011-05-11 20:18:42 +02:00
Lars Knoll 401f078386 split kernel/ up according to the future library split
Create a guikernel/ directory that contains the files that'll go
into libQtGui. What remains in kernel/ will go into QtWidgets.
In addition to that image/, painting/ and text will end up
int QtGui.
2011-05-04 12:50:14 +02:00
Lars Knoll 492bbdefd3 Remove more QApp dependencies
platformIntegration() lives in QGuiApplication
QFont and QFontDatabase can live with QGuiApp only
as well.
2011-05-04 09:11:33 +02:00
Lars Knoll ac6878a2f1 rename qwindow_qpa to qwindow 2011-05-03 20:31:37 +02:00