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
qquickrendercontrol.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#ifndef QQUICKRENDERCONTROL_H
6#define QQUICKRENDERCONTROL_H
7
8#include <QtCore/qobject.h>
9#include <QtQuick/qtquickglobal.h>
10#include <QtGui/qimage.h>
11
12QT_BEGIN_NAMESPACE
13
14class QQuickWindow;
15class QOpenGLContext;
16class QQuickRenderControlPrivate;
17class QThread;
18class QRhi;
19class QRhiCommandBuffer;
20
21class Q_QUICK_EXPORT QQuickRenderControl : public QObject
22{
23 Q_OBJECT
24
25public:
26 explicit QQuickRenderControl(QObject *parent = nullptr);
27 ~QQuickRenderControl() override;
28
29 void prepareThread(QThread *targetThread);
30
31 void setSamples(int sampleCount);
32 int samples() const;
33
34 bool initialize();
35
36 void invalidate();
37
38 void beginFrame();
39 void endFrame();
40
41 void polishItems();
42 bool sync();
43 void render();
44
45 static QWindow *renderWindowFor(QQuickWindow *win, QPoint *offset = nullptr);
46 virtual QWindow *renderWindow(QPoint *offset) { Q_UNUSED(offset); return nullptr; }
47
48 QQuickWindow *window() const;
49
50 QRhi *rhi() const;
51 QRhiCommandBuffer *commandBuffer() const;
52
53protected:
54 explicit QQuickRenderControl(QQuickRenderControlPrivate &dd, QObject *parent = nullptr);
55
56Q_SIGNALS:
57 void renderRequested();
58 void sceneChanged();
59
60private:
61 Q_DECLARE_PRIVATE(QQuickRenderControl)
62};
63
64QT_END_NAMESPACE
65
66#endif // QQUICKRENDERCONTROL_H
The QQuickRenderControl class provides a mechanism for rendering the Qt Quick scenegraph onto an offs...
Definition qjsvalue.h:23
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
#define PRINT_LISTENERS()
QDebug operator<<(QDebug debug, const QQuickItem *item)
static bool itemZOrder_sort(QQuickItem *lhs, QQuickItem *rhs)
#define DIRTY_TO_STRING(value)
void debugFocusTree(QQuickItem *item, QQuickItem *scope=nullptr, int depth=1)
DEFINE_OBJECT_VTABLE(QQuickItemWrapper)
const SigMap sigMap[]
static void setActiveFocus(QQuickItem *item, Qt::FocusReason reason)
static void markObjects(QV4::Heap::Base *that, QV4::MarkStack *markStack)
const char * sig