#pragma once #include #include #include #include #include namespace scwx::qt::settings { class LineSettings : public SettingsCategory { public: explicit LineSettings(const std::string& name); ~LineSettings() override; LineSettings(const LineSettings&) = delete; LineSettings& operator=(const LineSettings&) = delete; LineSettings(LineSettings&&) noexcept; LineSettings& operator=(LineSettings&&) noexcept; [[nodiscard]] SettingsVariable& border_color() const; [[nodiscard]] SettingsVariable& highlight_color() const; [[nodiscard]] SettingsVariable& line_color() const; [[nodiscard]] SettingsVariable& border_width() const; [[nodiscard]] SettingsVariable& highlight_width() const; [[nodiscard]] SettingsVariable& line_width() const; [[nodiscard]] boost::gil::rgba32f_pixel_t GetBorderColorRgba32f() const; [[nodiscard]] boost::gil::rgba32f_pixel_t GetHighlightColorRgba32f() const; [[nodiscard]] boost::gil::rgba32f_pixel_t GetLineColorRgba32f() const; void StageValues(boost::gil::rgba8_pixel_t borderColor, boost::gil::rgba8_pixel_t highlightColor, boost::gil::rgba8_pixel_t lineColor, std::int64_t borderWidth, std::int64_t highlightWidth, std::int64_t lineWidth); friend bool operator==(const LineSettings& lhs, const LineSettings& rhs); private: class Impl; std::unique_ptr p; }; } // namespace scwx::qt::settings