ladybird/Userland/Libraries/LibGUI/ColorInput.h
Ali Mohammad Pur 5e1499d104 Everywhere: Rename {Deprecated => Byte}String
This commit un-deprecates DeprecatedString, and repurposes it as a byte
string.
As the null state has already been removed, there are no other
particularly hairy blockers in repurposing this type as a byte string
(what it _really_ is).

This commit is auto-generated:
  $ xs=$(ack -l \bDeprecatedString\b\|deprecated_string AK Userland \
    Meta Ports Ladybird Tests Kernel)
  $ perl -pie 's/\bDeprecatedString\b/ByteString/g;
    s/deprecated_string/byte_string/g' $xs
  $ clang-format --style=file -i \
    $(git diff --name-only | grep \.cpp\|\.h)
  $ gn format $(git ls-files '*.gn' '*.gni')
2023-12-17 18:25:10 +03:30

51 lines
1.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 2020, Hüseyin Aslıtürk <asliturk@hotmail.com>
* Copyright (c) 2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Function.h>
#include <LibGUI/TextEditor.h>
namespace GUI {
class ColorInput final : public TextEditor {
C_OBJECT(ColorInput);
public:
virtual ~ColorInput() override = default;
bool has_alpha_channel() const { return m_color_has_alpha_channel; }
void set_color_has_alpha_channel(bool has_alpha) { m_color_has_alpha_channel = has_alpha; }
void set_color(Color, AllowCallback = AllowCallback::Yes);
Color color() { return m_color; }
void set_color_picker_title(ByteString title) { m_color_picker_title = move(title); }
ByteString color_picker_title() { return m_color_picker_title; }
Function<void()> on_change;
protected:
virtual void mousedown_event(MouseEvent&) override;
virtual void mouseup_event(MouseEvent&) override;
virtual void mousemove_event(MouseEvent&) override;
virtual void paint_event(PaintEvent&) override;
private:
ColorInput();
Gfx::IntRect color_rect() const;
void set_color_internal(Color, AllowCallback, bool change_text);
Color m_color;
ByteString m_color_picker_title { "Color Picker" };
bool m_color_has_alpha_channel { true };
bool m_may_be_color_rect_click { false };
};
}