Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qxcbglintegration.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#pragma once
6
7#include "qxcbexport.h"
8#include "qxcbwindow.h"
9
10#include <QtCore/QLoggingCategory>
11
12QT_BEGIN_NAMESPACE
13
14class QPlatformOffscreenSurface;
15class QOffscreenSurface;
16class QXcbNativeInterfaceHandler;
17
18QT_DECLARE_EXPORTED_QT_LOGGING_CATEGORY(lcQpaGl, Q_XCB_EXPORT)
19
21{
22public:
23 QXcbGlIntegration();
24 virtual ~QXcbGlIntegration();
25 virtual bool initialize(QXcbConnection *connection) = 0;
26
27 virtual bool supportsThreadedOpenGL() const { return false; }
28 virtual bool supportsSwitchableWidgetComposition() const { return true; }
29 virtual bool handleXcbEvent(xcb_generic_event_t *event, uint responseType);
30
31 virtual QXcbWindow *createWindow(QWindow *window) const = 0;
32#ifndef QT_NO_OPENGL
33 virtual QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const = 0;
34#endif
35 virtual QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const = 0;
36 virtual bool canCreatePlatformOffscreenSurface() const { return false; }
37
38 virtual QXcbNativeInterfaceHandler *nativeInterfaceHandler() const { return nullptr; }
39};
40
41QT_END_NAMESPACE
Combined button and popup list for selecting options.
#define Q_XCB_EXPORT
Definition qxcbexport.h:14