Files
Renderive/Qt/bridge/Qt_Presentation_Sink.cpp
T
2026-08-01 20:09:45 +08:00

34 lines
705 B
C++

#include "Qt_Presentation_Sink.h"
#include <QMetaObject>
#include <QWidget>
namespace renderive {
struct Qt_Presentation_Sink::Private {
QPointer<QWidget> widget;
};
Qt_Presentation_Sink::Qt_Presentation_Sink(QWidget* widget)
: d(std::make_unique<Private>()) {
d->widget = widget;
}
Qt_Presentation_Sink::~Qt_Presentation_Sink() = default;
void Qt_Presentation_Sink::request_present(Rect dirty_rect) {
(void)dirty_rect;
if (!d->widget)
return;
QMetaObject::invokeMethod(
d->widget.data(),
[w = QPointer<QWidget>(d->widget)]() {
if (w)
w->update();
},
Qt::QueuedConnection
);
}
} // namespace renderive