mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 18:35:09 +00:00
LibGUI: Allow disabling the alpha channel in ColorInput widgets
This commit is contained in:
parent
17e76b4760
commit
c7107385ee
2 changed files with 19 additions and 1 deletions
|
@ -70,6 +70,19 @@ void ColorInput::set_color(Color color)
|
|||
set_text(color.to_string());
|
||||
};
|
||||
|
||||
void ColorInput::set_color_has_alpha_channel(bool has_alpha)
|
||||
{
|
||||
if (m_color_has_alpha_channel == has_alpha)
|
||||
return;
|
||||
|
||||
m_color_has_alpha_channel = has_alpha;
|
||||
m_color.set_alpha(0xff);
|
||||
if (!has_alpha)
|
||||
set_text(m_color.to_string_without_alpha());
|
||||
else
|
||||
set_text(m_color.to_string());
|
||||
}
|
||||
|
||||
void ColorInput::mousedown_event(MouseEvent& event)
|
||||
{
|
||||
if (event.button() == MouseButton::Left) {
|
||||
|
|
|
@ -35,9 +35,11 @@ class ColorInput final : public TextEditor {
|
|||
C_OBJECT(ColorInput);
|
||||
|
||||
public:
|
||||
ColorInput();
|
||||
virtual ~ColorInput() override;
|
||||
|
||||
bool has_alpha_channel() const { return m_color_has_alpha_channel; }
|
||||
void set_color_has_alpha_channel(bool);
|
||||
|
||||
void set_color(Color);
|
||||
Color color() { return m_color; }
|
||||
|
||||
|
@ -52,11 +54,14 @@ protected:
|
|||
virtual void paint_event(PaintEvent&) override;
|
||||
|
||||
private:
|
||||
ColorInput();
|
||||
|
||||
Gfx::Rect color_rect() const;
|
||||
void set_color_without_changing_text(Color);
|
||||
|
||||
Color m_color;
|
||||
String m_color_picker_title { "Select color" };
|
||||
bool m_color_has_alpha_channel { true };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue