Files
ReJUI/include/JUI/Widgets/ImageButton.hpp

37 lines
1.1 KiB
C++

#pragma once
#include <JUI/Base/ImageBase.hpp>
#include <JUI/Widgets/Button.hpp>
namespace JUI {
class ImageButton;
}
class JUI::ImageButton : public ImageBase, public Button {
public:
ImageButton();
explicit ImageButton(Widget* parent);
~ImageButton() override = default;
void Update(float delta) override;
void Draw() override;
[[nodiscard]] Color4 HoveredImageColor() const;
[[nodiscard]] Color4 BaseImageColor() const;
[[nodiscard]] Color4 PressedImageColor() const;
[[nodiscard]] Color4 DisabledImageColor() const;
void HoveredImageColor(const Color4& value);
void BaseImageColor(const Color4& value);
void PressedImageColor(const Color4& value);
void DisabledImageColor(const Color4& value);
void ImageColors(const Color4& hover, const Color4& base, const Color4& press, const Color4& disabled);
protected:
void UpdateImageVisualState();
protected:
Color4 hover_img_color = Colors::White;
Color4 base_img_color = Colors::White;
Color4 pressed_img_color = Colors::White;
Color4 disabled_img_color = Colors::White;
};