fix input highlight. render multiline text. remove default theme singleton. scrollable area texture alignment.
57 lines
2.4 KiB
C++
57 lines
2.4 KiB
C++
#ifndef BWIDGETS_THEME_HPP
|
|
#define BWIDGETS_THEME_HPP
|
|
|
|
#include <basic_widgets/core/font.hpp>
|
|
#include <basic_widgets/core/type/color.hpp>
|
|
#include <basic_widgets/core/type/size.hpp>
|
|
|
|
namespace bwidgets
|
|
{
|
|
class Theme
|
|
{
|
|
public:
|
|
enum class FontEnum
|
|
{
|
|
MONO,
|
|
MONO_BIG,
|
|
MONO_BIGGER,
|
|
MONO_BIGGEST,
|
|
MONO_SMALL,
|
|
MONO_SMALLER,
|
|
MONO_SMALLEST
|
|
};
|
|
|
|
virtual ~Theme() = default;
|
|
|
|
[[nodiscard]] virtual auto color_font_bg() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_font_fg() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_input_bg() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_input_bg_active() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_input_fg() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_widget_bg() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_widget_bg_dark() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_widget_bg_hl() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_widget_border() const -> const Color& = 0;
|
|
[[nodiscard]] virtual auto color_widget_border_pushed() const
|
|
-> const Color& = 0;
|
|
[[nodiscard]] virtual auto font(FontEnum) -> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default() -> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_big()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_bigger()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_biggest()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_small()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_smaller()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto font_default_smallest()
|
|
-> const std::shared_ptr<Font>& = 0;
|
|
[[nodiscard]] virtual auto size_layout_margin() const -> const Size& = 0;
|
|
[[nodiscard]] virtual auto size_widget_border() const -> int = 0;
|
|
};
|
|
}
|
|
|
|
#endif
|