//
// Created by sebastian on 09.02.26.
//

#ifndef GUITEXTURE_H
#define GUITEXTURE_H
#include "glad/glad.h"
#include "glm/vec2.hpp"
#include "glm/vec3.hpp"


class GUITexture {
private:
    const GLuint textureID;
    const glm::vec2 position;
    const glm::vec2 scale;

    float brightness = 1.0f;
    float tintStrength = 0.0f;
    glm::vec3 tintColor = glm::vec3(0.3, 0.6, 1.0);

public:
    GUITexture(GLuint textureID, glm::vec2 position, glm::vec2 scale);
    GUITexture(GLuint textureID, glm::vec2 position, glm::vec2 scale, float brightness, glm::vec3 tintColor, float tintStrength);

    [[nodiscard]] GLuint getTextureID() const {return textureID;}
    [[nodiscard]] glm::vec2 getPosition() const {return position;}
    [[nodiscard]] glm::vec2 getScale() const {return scale;}
    [[nodiscard]] float getBrightness() const {return brightness;}
    [[nodiscard]] glm::vec3 getTintColor() const {return tintColor;}
    [[nodiscard]] float getTintStrength() const {return tintStrength;}

};



#endif //GUITEXTURE_H
