mirror of
https://github.com/J-D-K/JKSV.git
synced 2026-03-22 01:34:13 -05:00
29 lines
850 B
C++
29 lines
850 B
C++
#pragma once
|
|
#include "sdl.hpp"
|
|
#include <cstdint>
|
|
|
|
namespace ui
|
|
{
|
|
/// @brief This class updates and keeps track of a color modifying variable for ui elements that need one.
|
|
class ColorMod
|
|
{
|
|
public:
|
|
/// @brief Default constructor.
|
|
ColorMod(void) = default;
|
|
|
|
/// @brief Updates the color modification variable.
|
|
void update(void);
|
|
|
|
/// @brief Operator that allows using this as an sdl::Color directly.
|
|
/// @note Since all of these pulse the same color, no sense in not doing this.
|
|
operator sdl::Color(void) const;
|
|
|
|
private:
|
|
/// @brief Whether we're adding or subtracting from the color value.
|
|
bool m_direction = true;
|
|
|
|
/// @brief Color value.
|
|
uint8_t m_colorMod = 0;
|
|
};
|
|
} // namespace ui
|