Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickframebufferobject.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
4
#ifndef QQUICKFRAMEBUFFEROBJECT_H
5
#define QQUICKFRAMEBUFFEROBJECT_H
6
7
#include <QtQuick/QQuickItem>
8
9
QT_BEGIN_NAMESPACE
10
11
class
QOpenGLFramebufferObject
;
12
class
QQuickFramebufferObjectPrivate
;
13
class
QSGFramebufferObjectNode
;
14
15
class
Q_QUICK_EXPORT
QQuickFramebufferObject
:
public
QQuickItem
16
{
17
Q_OBJECT
18
Q_DECLARE_PRIVATE(
QQuickFramebufferObject
)
19
20
Q_PROPERTY
(
bool
textureFollowsItemSize READ textureFollowsItemSize WRITE setTextureFollowsItemSize NOTIFY textureFollowsItemSizeChanged)
21
Q_PROPERTY
(
bool
mirrorVertically READ mirrorVertically WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged)
22
23
public:
24
25
class Q_QUICK_EXPORT
Renderer
{
26
protected
:
27
Renderer
();
28
virtual
~Renderer
();
29
virtual
void
render
() = 0;
30
virtual
QOpenGLFramebufferObject
*createFramebufferObject(
const
QSize
&
size
);
31
virtual
void
synchronize(
QQuickFramebufferObject
*);
32
QOpenGLFramebufferObject
*framebufferObject()
const
;
33
void
update();
34
void
invalidateFramebufferObject();
35
private
:
36
friend
class
QSGFramebufferObjectNode
;
37
friend
class
QQuickFramebufferObject
;
38
void
*
data
;
39
};
40
41
QQuickFramebufferObject
(
QQuickItem
*parent =
nullptr
);
42
43
bool
textureFollowsItemSize()
const
;
44
void
setTextureFollowsItemSize(
bool
follows);
45
46
bool
mirrorVertically()
const
;
47
void
setMirrorVertically(
bool
enable
);
48
49
virtual
Renderer
*
createRenderer
()
const
= 0;
50
51
bool
isTextureProvider()
const override
;
52
QSGTextureProvider
*textureProvider()
const override
;
53
void
releaseResources()
override
;
54
55
protected
:
56
void
geometryChange(
const
QRectF
&newGeometry,
const
QRectF
&oldGeometry)
override
;
57
58
protected
:
59
QSGNode
*updatePaintNode(
QSGNode
*,
UpdatePaintNodeData
*)
override
;
60
61
Q_SIGNALS
:
62
void
textureFollowsItemSizeChanged
(
bool
);
63
void
mirrorVerticallyChanged
(
bool
);
64
65
private
Q_SLOTS
:
66
void
invalidateSceneGraph();
67
};
68
69
QT_END_NAMESPACE
70
71
#endif
// QQUICKFRAMEBUFFEROBJECT_H
QOpenGLFramebufferObject
The QOpenGLFramebufferObject class encapsulates an OpenGL framebuffer object.
Definition
qopenglframebufferobject.h:31
QQuickFramebufferObjectPrivate
Definition
qquickframebufferobject.cpp:20
QQuickFramebufferObject::Renderer
\inmodule QtQuick
Definition
qquickframebufferobject.h:25
QQuickFramebufferObject::Renderer::render
virtual void render()=0
This function is called when the FBO should be rendered into.
QQuickFramebufferObject
\inmodule QtQuick
Definition
qquickframebufferobject.h:16
QQuickFramebufferObject::createRenderer
virtual Renderer * createRenderer() const =0
Reimplement this function to create a renderer used to render into the FBO.
QQuickFramebufferObject::mirrorVerticallyChanged
void mirrorVerticallyChanged(bool)
QQuickFramebufferObject::textureFollowsItemSizeChanged
void textureFollowsItemSizeChanged(bool)
QQuickItem
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition
qquickitem.h:63
QRectF
\inmodule QtCore\reentrant
Definition
qrect.h:484
QSGFramebufferObjectNode
Definition
qquickframebufferobject.cpp:164
QSGNode
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
Definition
qsgnode.h:37
QSGTextureProvider
The QSGTextureProvider class encapsulates texture based entities in QML.
Definition
qsgtextureprovider.h:13
QSize
\inmodule QtCore
Definition
qsize.h:25
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
size
GLenum GLuint GLintptr GLsizeiptr size
[1]
Definition
qopengles2ext.h:660
data
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
Definition
qopengles2ext.h:206
enable
GLboolean enable
Definition
qopengles2ext.h:855
Q_PROPERTY
#define Q_PROPERTY(...)
Definition
qtmetamacros.h:56
Q_OBJECT
#define Q_OBJECT
Definition
qtmetamacros.h:119
Q_SLOTS
#define Q_SLOTS
Definition
qtmetamacros.h:44
Q_SIGNALS
#define Q_SIGNALS
Definition
qtmetamacros.h:45
QQuickItem::UpdatePaintNodeData
Definition
qquickitem.h:371
qtdeclarative
src
quick
items
qquickframebufferobject.h
Generated by
1.10.0