HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
theme_book.hpp
1// Copyright Take Vos 2020-2021.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "theme_mode.hpp"
8#include "theme.hpp"
9#include <limits>
10#include <vector>
11#include <memory>
12#include <filesystem>
13
14namespace hi::inline v1 {
15class font_book;
16
21public:
23 theme_book(theme_book const &) = delete;
24 theme_book(theme_book &&) = delete;
25 theme_book &operator=(theme_book const &) = delete;
26 theme_book &operator=(theme_book &&) = delete;
27
28 theme_book(hi::font_book const &font_book, std::vector<std::filesystem::path> const &theme_directories) noexcept;
29
30 [[nodiscard]] std::vector<std::string> theme_names() const noexcept;
31
38 [[nodiscard]] theme const &find(std::string name, theme_mode mode) const noexcept;
39
40private:
42};
43
44} // namespace hi::inline v1
DOXYGEN BUG.
Definition algorithm.hpp:15
Definition theme.hpp:23
theme_book keeps track of multiple themes.
Definition theme_book.hpp:20
theme const & find(std::string name, theme_mode mode) const noexcept
Find a theme matching the name and mode.
font_book keeps track of multiple fonts.
Definition font_book.hpp:31