diff options
Diffstat (limited to 'assetFactory/style.h')
-rw-r--r-- | assetFactory/style.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/assetFactory/style.h b/assetFactory/style.h index e8fd012..d931f98 100644 --- a/assetFactory/style.h +++ b/assetFactory/style.h @@ -12,6 +12,7 @@ public: using StyleStack = std::vector<const Style *>; using Colour = glm::vec3; using ColourAlpha = glm::vec4; + using EffectiveColour = std::optional<std::reference_wrapper<const ColourAlpha>>; void applyStyle(ModelFactoryMesh &, const StyleStack & parents, const Shape::CreatedFaces &) const; void applyStyle(ModelFactoryMesh &, const StyleStack & parents, const ModelFactoryMesh::FaceHandle &) const; @@ -27,8 +28,14 @@ public: return {}; } + static EffectiveColour getColour(const StyleStack & parents); + ColourAlpha colour {}; + std::optional<bool> smooth; + std::string texture; + std::string textureRotation; // Multiples of 90deg, no int/enum support protected: bool persist(Persistence::PersistenceStore & store); + void applyStyle(ModelFactoryMesh &, const ModelFactoryMesh::FaceHandle &, EffectiveColour) const; }; |