60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
#include <JUI/Widgets/ImageButton.hpp>
|
|
|
|
void JUI::ImageButton::Update(float delta) {
|
|
Button::Update(delta);
|
|
UpdateImageVisualState();
|
|
}
|
|
|
|
void JUI::ImageButton::Draw() {
|
|
Button::Draw();
|
|
ImageBase::Draw(GetAbsolutePosition()+GetAbsolutePaddingTopLeft(), GetAbsoluteSize()-GetAbsolutePaddingBottomRight());
|
|
}
|
|
|
|
JUI::ImageButton::ImageButton() : ImageBase(), Button() {
|
|
Name("ImageButton");
|
|
}
|
|
|
|
JUI::ImageButton::ImageButton(JUI::Widget *parent) : ImageButton() { Parent(parent); }
|
|
|
|
void JUI::ImageButton::HoveredImageColor(const Color4 &value) {
|
|
hover_img_color = value;
|
|
}
|
|
|
|
void JUI::ImageButton::BaseImageColor(const Color4 &value) {
|
|
base_img_color = value;
|
|
}
|
|
|
|
void JUI::ImageButton::PressedImageColor(const Color4 &value) {
|
|
pressed_img_color = value;
|
|
}
|
|
|
|
void JUI::ImageButton::DisabledImageColor(const Color4 &value) {
|
|
disabled_img_color = value;
|
|
}
|
|
|
|
void JUI::ImageButton::UpdateImageVisualState() {
|
|
if (Disabled())
|
|
ImageBase::Color(DisabledImageColor());
|
|
else if (IsClicked())
|
|
ImageBase::Color(PressedImageColor());
|
|
else if (IsHovered())
|
|
ImageBase::Color(HoveredImageColor());
|
|
else
|
|
ImageBase::Color(BaseImageColor());
|
|
}
|
|
|
|
Color4 JUI::ImageButton::HoveredImageColor() const {return hover_img_color;}
|
|
|
|
Color4 JUI::ImageButton::BaseImageColor() const { return base_img_color; }
|
|
|
|
Color4 JUI::ImageButton::PressedImageColor() const { return pressed_img_color; }
|
|
|
|
Color4 JUI::ImageButton::DisabledImageColor() const { return disabled_img_color; }
|
|
|
|
void JUI::ImageButton::ImageColors(const Color4 &hover, const Color4 &base, const Color4 &press, const Color4 &disabled) {
|
|
HoveredImageColor(hover);
|
|
BaseImageColor(base);
|
|
PressedImageColor(press);
|
|
DisabledImageColor(disabled);
|
|
}
|