4#ifndef QWAYLANDQUICKITEM_P_H
5#define QWAYLANDQUICKITEM_P_H
18#include <QtQuick/private/qquickitem_p.h>
19#include <QtQuick/QSGMaterialShader>
20#include <QtQuick/QSGMaterial>
22#include <QtWaylandCompositor/QWaylandQuickItem>
23#include <QtWaylandCompositor/QWaylandOutput>
25#include <QtCore/qpointer.h>
43 void setupExternalOESShader(
const QString &shaderFilename);
50 ~QWaylandBufferMaterial()
override;
56 void updateScenegraphTextures(
QRhi *rhi);
62 friend QWaylandBufferMaterialShader;
65 void ensureTextures(
int count);
68 QVarLengthArray<QOpenGLTexture*, 3> m_textures;
69 QVarLengthArray<QSGTexture*, 3> m_scenegraphTextures;
116 q->setAcceptTouchEvents(
enable);
117 q->setAcceptHoverEvents(
enable);
130 virtual void raise();
131 virtual void lower();
135 QScopedPointer<QWaylandView>
view;
147 bool paintByProvider =
false;
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
\inmodule QtCore\reentrant
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
The QSGMaterialShader class represents a graphics API independent shader program.
The QSGMaterial class encapsulates rendering state for a shader program.
RenderMode
\value RenderMode2D Normal 2D rendering \value RenderMode2DNoDepthBuffer Normal 2D rendering with dep...
T * data() const noexcept
Returns the value of the pointer referenced by this object.
void reset(T *other=nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval< T * >())))
Deletes the existing object it is pointing to (if any), and sets its pointer to other.
\macro QT_RESTRICTED_CAST_FROM_ASCII
\inmodule QtWaylandCompositor
\qmltype WaylandOutput \instantiates QWaylandOutput \inqmlmodule QtWayland.Compositor
QWaylandQuickItem * findSibling(QWaylandSurface *surface) const
qreal scaleFactor() const
void setInputEventsEnabled(bool enable)
QQuickWindow * connectedWindow
QWaylandSurface::Origin origin
QScopedPointer< QWaylandView > view
QWaylandOutput * connectedOutput
QPointer< QObject > subsurfaceHandler
QMetaObject::Connection texProviderConnection
bool shouldSendInputEvents() const
void placeBelowSibling(QWaylandQuickItem *sibling)
void placeAboveSibling(QWaylandQuickItem *sibling)
QWaylandSurfaceTextureProvider * provider
QList< QWaylandSeat * > touchingSeats
QWaylandQuickItemPrivate()=default
static const QWaylandQuickItemPrivate * get(const QWaylandQuickItem *item)
QPointer< QWaylandSurface > oldSurface
\qmltype WaylandQuickItem \instantiates QWaylandQuickItem \inqmlmodule QtWayland.Compositor
bool allowDiscardFrontBuffer
By default, the item locks the current buffer until a new buffer is available and updatePaintNode() i...
void surfaceDestroyed()
\qmlsignal void QtWayland.Compositor::WaylandQuickItem::surfaceDestroyed()
void bufferLockedChanged()
\qmltype WaylandSurface \instantiates QWaylandSurface \inqmlmodule QtWayland.Compositor
Origin
This enum type is used to specify the origin of a QWaylandSurface's buffer.
\qmltype WaylandView \instantiates QWaylandView \inqmlmodule QtWayland.Compositor
void allowDiscardFrontBufferChanged()
QWaylandSurface * surface
\qmlproperty WaylandSurface QtWayland.Compositor::WaylandView::surface
void bufferLockedChanged()
Combined button and popup list for selecting options.
void updateUniformData(QByteArray *dst, const QVideoFrameFormat &format, const QVideoFrame &frame, const QMatrix4x4 &transform, float opacity, float maxNits)
GLenum GLenum GLsizei count
typedef GLenum(GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC)(void)
GLint GLsizei GLsizei GLenum format
GLdouble GLdouble GLdouble GLdouble q
socketLayer bind(QHostAddress::Any, 4000)
The QSGMaterialType class is used as a unique type token in combination with QSGMaterial.