File indexing completed on 2024-05-12 15:42:40
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Arjen Hiemstra <ahiemstra@heimr.nl> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QSGTexture> 0010 0011 #include "shadowedborderrectanglematerial.h" 0012 0013 class ShadowedBorderTextureMaterial : public ShadowedBorderRectangleMaterial 0014 { 0015 public: 0016 ShadowedBorderTextureMaterial(); 0017 0018 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0019 QSGMaterialShader *createShader() const override; 0020 #else 0021 QSGMaterialShader *createShader(QSGRendererInterface::RenderMode) const override; 0022 #endif 0023 QSGMaterialType *type() const override; 0024 int compare(const QSGMaterial *other) const override; 0025 0026 QSGTexture *textureSource = nullptr; 0027 0028 static QSGMaterialType staticType; 0029 }; 0030 0031 class ShadowedBorderTextureShader : public ShadowedBorderRectangleShader 0032 { 0033 public: 0034 ShadowedBorderTextureShader(ShadowedRectangleMaterial::ShaderType shaderType); 0035 0036 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) 0037 void initialize() override; 0038 void updateState(const QSGMaterialShader::RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial) override; 0039 #else 0040 void 0041 updateSampledImage(QSGMaterialShader::RenderState &state, int binding, QSGTexture **texture, QSGMaterial *newMaterial, QSGMaterial *oldMaterial) override; 0042 #endif 0043 };