37 lines
1.1 KiB
C++
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;
|
|
}; |