This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/gui/interface/CopyTextButton.cpp
2023-01-27 09:29:19 +01:00

48 lines
1.4 KiB
C++

#include "CopyTextButton.h"
#include "Colour.h"
#include "gui/Style.h"
#include "Label.h"
#include "PowderToySDL.h"
namespace ui
{
CopyTextButton::CopyTextButton(Point position, Point size, String buttonText, Label *copyTextLabel_):
Button(position, size, buttonText)
{
copyTextLabel = copyTextLabel_;
Appearance.HorizontalAlign = ui::Appearance::AlignCentre;
Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
Appearance.TextInactive = ui::Colour(150, 150, 150);
Appearance.TextActive = ui::Colour(230, 255, 230);
Appearance.BorderActive = ui::Colour(230, 255, 230);
Appearance.BackgroundActive = style::Colour::InactiveBackground;
}
void CopyTextButton::OnMouseClick(int x, int y, unsigned int button)
{
ui::Button::OnMouseClick(x, y, button);
ClipboardPush(ButtonText.ToUtf8());
copyTextLabel->SetText("Copied!");
Appearance.TextInactive = ui::Colour(180, 230, 180);
Appearance.TextHover = ui::Colour(180, 230, 180);
Appearance.BorderInactive = ui::Colour(180, 230, 180);
Appearance.BorderHover = ui::Colour(180, 230, 180);
}
void CopyTextButton::OnMouseEnter(int x, int y)
{
ui::Button::OnMouseEnter(x, y);
copyTextLabel->SetTextColour(ui::Colour(230, 230, 230));
}
void CopyTextButton::OnMouseLeave(int x, int y)
{
ui::Button::OnMouseLeave(x, y);
copyTextLabel->SetTextColour(ui::Colour(150, 150, 150));
}
} /* namespace ui */