1 | /* |
2 | * SPDX-FileCopyrightText: 2020 Arjen Hiemstra <ahiemstra@heimr.nl> |
3 | * |
4 | * SPDX-License-Identifier: LGPL-2.0-or-later |
5 | */ |
6 | |
7 | #pragma once |
8 | |
9 | #include <QSGTexture> |
10 | |
11 | #include "shadowedborderrectanglematerial.h" |
12 | |
13 | class ShadowedBorderTextureMaterial : public ShadowedBorderRectangleMaterial |
14 | { |
15 | public: |
16 | ShadowedBorderTextureMaterial(); |
17 | |
18 | QSGMaterialShader *createShader(QSGRendererInterface::RenderMode) const override; |
19 | QSGMaterialType *type() const override; |
20 | int compare(const QSGMaterial *other) const override; |
21 | |
22 | QSGTexture *textureSource = nullptr; |
23 | |
24 | static QSGMaterialType staticType; |
25 | }; |
26 | |
27 | class ShadowedBorderTextureShader : public ShadowedBorderRectangleShader |
28 | { |
29 | public: |
30 | ShadowedBorderTextureShader(ShadowedRectangleMaterial::ShaderType shaderType); |
31 | |
32 | void |
33 | updateSampledImage(QSGMaterialShader::RenderState &state, int binding, QSGTexture **texture, QSGMaterial *newMaterial, QSGMaterial *oldMaterial) override; |
34 | }; |
35 | |