Merge pull request #24470 from fuzzard/release_20.3
[xbmc.git] / xbmc / dialogs / GUIDialogKeyboardTouch.h
blobe7ad4333402493f331891c4a826034568746adff
1 /*
2 * Copyright (C) 2012-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "guilib/GUIDialog.h"
12 #include "guilib/GUIKeyboard.h"
14 #include <atomic>
15 #include <memory>
17 class CGUIDialogKeyboardTouch : public CGUIDialog, public CGUIKeyboard, public CThread
19 public:
20 CGUIDialogKeyboardTouch();
21 bool ShowAndGetInput(char_callback_t pCallback, const std::string &initialString, std::string &typedString, const std::string &heading, bool bHiddenInput) override;
22 bool SetTextToKeyboard(const std::string &text, bool closeKeyboard = false) override;
23 void Cancel() override;
24 int GetWindowId() const override;
26 protected:
27 void OnInitWindow() override;
28 using CGUIControlGroup::Process;
29 void Process() override;
31 char_callback_t m_pCharCallback;
32 std::string m_initialString;
33 std::string m_typedString;
34 std::string m_heading;
35 bool m_bHiddenInput;
37 std::unique_ptr<CGUIKeyboard> m_keyboard;
38 std::atomic_bool m_active;
39 bool m_confirmed;