Skip to content

File BarMaterial.hpp

File List > materials > BarMaterial.hpp

Go to the documentation of this file

//
// SPDX-FileCopyrightText: 2026 Michal Grabarczyk
// SPDX-License-Identifier: GPL-3.0-only WITH Universal-FOSS-exception-1.0
//
// This file is also available under a separate commercial license.
// See COMMERCIAL-LICENSING.md for contact information.
//
#pragma once

#include "QAccelPlot/materials/GradientTexture.hpp"
#include "QAccelPlot/materials/RectMaterial.hpp"

namespace QAccelPlot {

class BarMaterial : public RectMaterial {
public:
    BarMaterial();

    QSGMaterialType* type() const override;
    QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;

    float barWidth{0.8f};   
    float barOffset{0.0f};  
    float baseline{0.0f};   
    float horizontal{0.0f}; 
    float ranged{0.0f};     
    float colorSource{0.0f};
    float valueMin{0.0f};      
    float valueMax{1.0f};      
    float valueOrigin{0.0f};   
    float valueLogScale{0.0f}; 
    GradientTexture colorMap;  

protected:
    int compareExtra(const QSGMaterial* other) const override;
};

} // namespace QAccelPlot