Revision control

++ // Copyright (C) 2025 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++ #version 440
++
++ layout(location = 0) in vec4 qt_Vertex;
++ layout(location = 1) in vec2 qt_MultiTexCoord0;
++ layout(location = 0) out vec2 texCoord;
++ layout(location = 1) out vec2 fragCoord;
++
++ layout(std140, binding = 0) uniform buf {
++ mat4 qt_Matrix;
++ float qt_Opacity;
++ vec3 iResolution;
++ int origo;
++ bool subTicksVisible;
++ float spacing;
++ float subTickLength;
++ float displacement;
++ vec4 subTickColor;
++ vec4 tickColor;
++ float subTickLineWidth;
++ float tickLineWidth;
++ float smoothing;
++ float subTickScale;
++ bool flipped;
++ bool isLogarithmic;
++ float base;
++ };
++
++ out gl_PerVertex { vec4 gl_Position; };
++
++ #define HORIZONTAL 1
++
++
++ void main() {
++ texCoord = qt_MultiTexCoord0;
++ if (origo == 0)
++ fragCoord = vec2(qt_Vertex.x, iResolution.y - qt_Vertex.y);
++ else if (origo == 1)
++ fragCoord = qt_Vertex.xy;
++ else if (origo == 2)
++ fragCoord = vec2(iResolution.x - qt_Vertex.x, qt_Vertex.y);
++ else
++ fragCoord = vec2(iResolution.x - qt_Vertex.x, iResolution.y - qt_Vertex.y);
++ #if (HORIZONTAL == 1)
++ fragCoord.x += displacement;
++ #else
++ fragCoord.y += displacement;
++ #endif
++ vec2 vertCoord = qt_Vertex.xy;
++ gl_Position = qt_Matrix * vec4(vertCoord, 0.0, 1.0);
++ }