From f24a73f4336bfb89f22c483cef328b78e78f2507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 18 Apr 2025 13:57:25 +0200 Subject: [PATCH] TextureTools: move all initialization to DistanceFieldGL::State. Similarly to changes done elsewhere, instead of a part being done here and other part there. --- src/Magnum/TextureTools/DistanceFieldGL.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Magnum/TextureTools/DistanceFieldGL.cpp b/src/Magnum/TextureTools/DistanceFieldGL.cpp index b2cebe93b..ad3182d3c 100644 --- a/src/Magnum/TextureTools/DistanceFieldGL.cpp +++ b/src/Magnum/TextureTools/DistanceFieldGL.cpp @@ -143,19 +143,19 @@ DistanceFieldShader::DistanceFieldShader(const UnsignedInt radius) { } struct DistanceFieldGL::State { - explicit State(UnsignedInt radius): shader{radius}, radius{radius} {} + explicit State(UnsignedInt radius); DistanceFieldShader shader; UnsignedInt radius; GL::Mesh mesh; }; -DistanceFieldGL::DistanceFieldGL(const UnsignedInt radius): _state{InPlaceInit, radius} { +DistanceFieldGL::State::State(const UnsignedInt radius): shader{radius}, radius{radius} { #ifndef MAGNUM_TARGET_GLES MAGNUM_ASSERT_GL_EXTENSION_SUPPORTED(GL::Extensions::ARB::framebuffer_object); #endif - _state->mesh.setPrimitive(GL::MeshPrimitive::Triangles) + mesh.setPrimitive(GL::MeshPrimitive::Triangles) .setCount(3); #ifndef MAGNUM_TARGET_GLES2 @@ -167,10 +167,12 @@ DistanceFieldGL::DistanceFieldGL(const UnsignedInt radius): _state{InPlaceInit, {-1.0f, -3.0f}, { 3.0f, 1.0f} }; - _state->mesh.addVertexBuffer(GL::Buffer{triangle}, 0, DistanceFieldShader::Position()); + mesh.addVertexBuffer(GL::Buffer{triangle}, 0, DistanceFieldShader::Position()); } } +DistanceFieldGL::DistanceFieldGL(UnsignedInt radius): _state{InPlaceInit, radius} {} + DistanceFieldGL::DistanceFieldGL(NoCreateT) noexcept {} DistanceFieldGL::DistanceFieldGL(DistanceFieldGL&&) noexcept = default;