EmojiInputDialog.h 716 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibGUI/Dialog.h>
  8. namespace GUI {
  9. class EmojiInputDialog final : public Dialog {
  10. C_OBJECT(EmojiInputDialog);
  11. struct Emoji {
  12. u32 code_point { 0 };
  13. RefPtr<Button> button;
  14. };
  15. public:
  16. String const& selected_emoji_text() const { return m_selected_emoji_text; }
  17. private:
  18. virtual void event(Core::Event&) override;
  19. explicit EmojiInputDialog(Window* parent_window);
  20. Vector<Emoji> supported_emoji();
  21. void update_displayed_emoji();
  22. RefPtr<Widget> m_emojis_widget;
  23. Vector<Emoji> m_emojis;
  24. String m_selected_emoji_text;
  25. };
  26. }