Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-20080

Qt 5 refactor

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P0: Blocker
    • 5.0.0
    • None
    • Other
    • None

    Description

      Super task for work related to the new QtGui APIs in Qt 5, as well as making the QtWidgets module run on top of the new QtGui layers, and the necessary API refactors / additions needed in Qt Lighthouse.

      Short overview:

      QWindow now becomes the core window abstraction, representing a surface or window in the windowing system. QWindow is backed by QPlatformWindow which is implemented in the Lighthouse plugins. QWidget instead of talking directly to the windowing system sits on top of QWindow (though we might explore the option for QWidget to speak directly to QPlatformWindow to prevent cluttering the QWindow API). QWindow can be raster or OpenGL based, depending on the surface type (QWindow::SurfaceType). QSurfaceFormat describes the format of the window, primarily for the OpenGL use case, but also for raster when wanting to create a window with an alpha buffer to support translucent backgrounds. QWindow can be accessed via QWidget::windowHandle().

      QGuiGLContext, backed by QPlatformGLContext, represents a GL context which can be created independently from QWindow, also based on a QSurfaceFormat. QGuiGLContext can be made current on a QSurface, which is the sub-classed by QWindow, and potentially also an offscreen surface class in the future. A single QGuiGLContext can be current on multiple QSurfaces at different times. QGuiGLContext can be accessed via QGLContext::contextHandle().

      QBackingStore, backed by QPlatformBackingStore, is used to paint to a raster based QWindow. It has a back buffer and supports partial updates to that back buffer via the QPainter API, as well as flushing the back buffer to the window itself.

      The Windows, Cocoa, and X11 backends of Qt 4.x will be replaced by Lighthouse plugins. XCB is used instead of Xlib for the X11 plugin.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            laknoll Lars Knoll
            rodal Samuel Rødal
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes