Simplify OpenGL surface renderer interface.

This commit is contained in:
John Preston
2025-10-20 13:00:41 +04:00
parent 02084be583
commit c351598f13
14 changed files with 25 additions and 57 deletions
@@ -46,13 +46,9 @@ class Panel::Incoming::RendererGL final : public Ui::GL::Renderer {
public:
explicit RendererGL(not_null<Incoming*> owner);
void init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) override;
void init(QOpenGLFunctions &f) override;
void deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) override;
void deinit(QOpenGLFunctions *f) override;
void paint(
not_null<QOpenGLWidget*> widget,
@@ -100,7 +96,7 @@ public:
explicit RendererSW(not_null<Incoming*> owner);
void paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) override;
@@ -123,9 +119,7 @@ Panel::Incoming::RendererGL::RendererGL(not_null<Incoming*> owner)
}, _lifetime);
}
void Panel::Incoming::RendererGL::init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) {
void Panel::Incoming::RendererGL::init(QOpenGLFunctions &f) {
constexpr auto kQuads = 2;
constexpr auto kQuadVertices = kQuads * 4;
constexpr auto kQuadValues = kQuadVertices * 4;
@@ -168,9 +162,7 @@ void Panel::Incoming::RendererGL::init(
}));
}
void Panel::Incoming::RendererGL::deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) {
void Panel::Incoming::RendererGL::deinit(QOpenGLFunctions *f) {
_textures.destroy(f);
_imageProgram = std::nullopt;
_texturedVertexShader = nullptr;
@@ -437,7 +429,7 @@ Panel::Incoming::RendererSW::RendererSW(not_null<Incoming*> owner)
}
void Panel::Incoming::RendererSW::paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) {
const auto markGuard = gsl::finally([&] {
@@ -312,9 +312,7 @@ Viewport::RendererGL::RendererGL(not_null<Viewport*> owner)
}, _lifetime);
}
void Viewport::RendererGL::init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) {
void Viewport::RendererGL::init(QOpenGLFunctions &f) {
_frameBuffer.emplace();
_frameBuffer->setUsagePattern(QOpenGLBuffer::DynamicDraw);
_frameBuffer->create();
@@ -389,9 +387,7 @@ void Viewport::RendererGL::ensureARGB32Program() {
}));
}
void Viewport::RendererGL::deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) {
void Viewport::RendererGL::deinit(QOpenGLFunctions *f) {
_frameBuffer = std::nullopt;
_frameVertexShader = nullptr;
_imageProgram = std::nullopt;
@@ -28,13 +28,9 @@ class Viewport::RendererGL final : public Ui::GL::Renderer {
public:
explicit RendererGL(not_null<Viewport*> owner);
void init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) override;
void init(QOpenGLFunctions &f) override;
void deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) override;
void deinit(QOpenGLFunctions *f) override;
void paint(
not_null<QOpenGLWidget*> widget,
@@ -37,7 +37,7 @@ Viewport::RendererSW::RendererSW(not_null<Viewport*> owner)
}
void Viewport::RendererSW::paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) {
auto bg = clip;
@@ -20,7 +20,7 @@ public:
explicit RendererSW(not_null<Viewport*> owner);
void paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) override;
@@ -137,9 +137,7 @@ OverlayWidget::RendererGL::RendererGL(not_null<OverlayWidget*> owner)
});
}
void OverlayWidget::RendererGL::init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) {
void OverlayWidget::RendererGL::init(QOpenGLFunctions &f) {
constexpr auto kQuads = 9;
constexpr auto kQuadVertices = kQuads * 4;
constexpr auto kQuadValues = kQuadVertices * 4;
@@ -243,9 +241,7 @@ void OverlayWidget::RendererGL::init(
renderer ? renderer : "[nullptr]");
}
void OverlayWidget::RendererGL::deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) {
void OverlayWidget::RendererGL::deinit(QOpenGLFunctions *f) {
_textures.destroy(f);
_imageProgram = std::nullopt;
_texturedVertexShader = nullptr;
@@ -21,13 +21,9 @@ class OverlayWidget::RendererGL final
public:
explicit RendererGL(not_null<OverlayWidget*> owner);
void init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) override;
void init(QOpenGLFunctions &f) override;
void deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) override;
void deinit(QOpenGLFunctions *f) override;
void paint(
not_null<QOpenGLWidget*> widget,
@@ -27,7 +27,7 @@ bool OverlayWidget::RendererSW::handleHideWorkaround() {
}
void OverlayWidget::RendererSW::paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) {
if (handleHideWorkaround()) {
@@ -16,7 +16,7 @@ public:
explicit RendererSW(not_null<OverlayWidget*> owner);
void paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) override;
@@ -156,9 +156,7 @@ Pip::RendererGL::RendererGL(not_null<Pip*> owner)
}, _lifetime);
}
void Pip::RendererGL::init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) {
void Pip::RendererGL::init(QOpenGLFunctions &f) {
constexpr auto kQuads = 8;
constexpr auto kQuadVertices = kQuads * 4;
constexpr auto kQuadValues = kQuadVertices * 4;
@@ -233,9 +231,7 @@ void Pip::RendererGL::init(
createShadowTexture();
}
void Pip::RendererGL::deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) {
void Pip::RendererGL::deinit(QOpenGLFunctions *f) {
_textures.destroy(f);
_imageProgram = std::nullopt;
_texturedVertexShader = nullptr;
@@ -19,13 +19,9 @@ class Pip::RendererGL final : public Pip::Renderer {
public:
explicit RendererGL(not_null<Pip*> owner);
void init(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions &f) override;
void init(QOpenGLFunctions &f) override;
void deinit(
not_null<QOpenGLWidget*> widget,
QOpenGLFunctions *f) override;
void deinit(QOpenGLFunctions *f) override;
void paint(
not_null<QOpenGLWidget*> widget,
@@ -70,7 +70,7 @@ Pip::RendererSW::RendererSW(not_null<Pip*> owner)
}
void Pip::RendererSW::paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) {
_p = &p;
@@ -16,7 +16,7 @@ public:
explicit RendererSW(not_null<Pip*> owner);
void paintFallback(
Painter &&p,
Painter &p,
const QRegion &clip,
Ui::GL::Backend backend) override;