stuff-from-scratch/src/visual_elements/SceneItem.h

42 lines
651 B
C
Raw Normal View History

2022-11-16 15:06:08 +00:00
#pragma once
#include "Color.h"
#include "Transform.h"
class SceneItem
{
public:
enum class Type
{
MODEL,
TEXT
};
SceneItem();
virtual ~SceneItem() = default;
const Color& getColor() const;
const Transform& getTransform() const;
virtual Type getType() const = 0;
bool isVisible() const;
void setIsVisible(bool isVisible);
void updateUniformColor(const Color& color);
void updateTransform(const Transform& transform);
protected:
Transform mTransform;
Color mUniformColor;
bool mColorIsDirty{true};
bool mTransformIsDirty{true};
bool mIsVisible{true};
};