#pragma once #include "Color.h" #include namespace renderive { enum class Line_Style : std::uint8_t { None, Solid, Dash, Dot }; enum class Line_Cap : std::uint8_t { Butt, Square, Round }; enum class Line_Join : std::uint8_t { Miter, Bevel, Round }; struct Pen { Color color = Color::white(); double width = 1.0; Line_Style style = Line_Style::Solid; Line_Cap cap = Line_Cap::Butt; Line_Join join = Line_Join::Miter; [[nodiscard]] bool enabled() const { return style != Line_Style::None && width > 0.0 && color.a != 0; } }; enum class Brush_Style : std::uint8_t { None, Solid }; struct Brush { Color color = Color::transparent(); Brush_Style style = Brush_Style::None; [[nodiscard]] bool enabled() const { return style != Brush_Style::None && color.a != 0; } }; } // namespace renderive