2 #ifndef SHISHGL_STYLE_HPP
3 #define SHISHGL_STYLE_HPP
30 template <
typename... Args>
32 add(std::forward<Args>(args)...);
36 for (
auto& style : styles) {
37 style->apply(viewport, shape);
42 for (
auto& style : styles) {
47 template <
typename SomeStyle,
typename... Args>
48 void add(
const SomeStyle& style, Args&&... args) {
50 add(std::forward<Args>(args)...);
53 template <
typename SomeStyle>
54 void add(
const SomeStyle& style) {
55 auto* new_style =
new SomeStyle(style);
56 styles.emplace_back(new_style);
61 std::vector<Style*> styles;
67 #endif //SHISHGL_STYLE_HPP