21#ifndef __QT6_GL_ITEM_H__
22#define __QT6_GL_ITEM_H__
28#include <QtCore/QMutex>
29#include <QtQuick/QQuickItem>
30#include <QtGui/QOpenGLContext>
31#include <QtGui/QOpenGLFunctions>
32#include <QtQuick/QQuickWindow>
49 gboolean
setCaps (GstCaps *caps);
57 void getDAR(gint *, gint *);
70 Q_PROPERTY(
bool itemInitialized
73 Q_PROPERTY(
bool forceAspectRatio
74 READ getForceAspectRatio
75 WRITE setForceAspectRatio
82 void setDAR(gint, gint);
83 void getDAR(gint *, gint *);
84 void setForceAspectRatio(
bool);
85 bool getForceAspectRatio();
86 bool itemInitialized();
88 QSharedPointer<Qt6GLVideoItemInterface> getInterface() {
return proxy; };
97 void handleWindowChanged(QQuickWindow * win);
98 void onSceneGraphInitialized();
99 void onSceneGraphInvalidated();
102 QSGNode *
updatePaintNode (QSGNode * oldNode, UpdatePaintNodeData * updatePaintNodeData)
override;
114 void setViewportSize(
const QSize &size);
117 void fitStreamToAllocatedSize(GstVideoRectangle * result);
118 QPointF mapPointToStreamSize(QPointF);
120 void sendMouseEvent(QMouseEvent * event, gboolean is_press);
122 quint32 mousePressedButton;
125 QSharedPointer<Qt6GLVideoItemInterface> proxy;
struct _GstElement GstElement
Qt6GLVideoItem * videoItem()
GstGLDisplay * getDisplay()
void getDAR(gint *, gint *)
bool getForceAspectRatio()
void setBuffer(GstBuffer *buffer)
gboolean setCaps(GstCaps *caps)
Qt6GLVideoItemInterface(Qt6GLVideoItem *w)
GstGLContext * getContext()
void setForceAspectRatio(bool)
void setSink(GstElement *sink)
GstGLContext * getQtContext()
void mouseReleaseEvent(QMouseEvent *) override
void hoverEnterEvent(QHoverEvent *) override
void hoverLeaveEvent(QHoverEvent *) override
void mousePressEvent(QMouseEvent *) override
QSGNode * updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updatePaintNodeData) override
void forceAspectRatioChanged(bool)
void itemInitializedChanged()
void wheelEvent(QWheelEvent *) override
void hoverMoveEvent(QHoverEvent *) override
void releaseResources() override
void touchEvent(QTouchEvent *) override