[WASAPI] set stream audio category
[xbmc.git] / xbmc / cores / RetroPlayer / guiwindows / GameWindowFullScreenText.h
bloba454a03e8c3a866c2ef4ac3706446b4eede0a2bf
1 /*
2 * Copyright (C) 2017-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 <string>
12 #include <vector>
14 class CGUIDialog;
15 class CGUIMessage;
16 class CGUIWindow;
18 namespace KODI
20 namespace RETRO
22 class CGameWindowFullScreenText
24 public:
25 CGameWindowFullScreenText(CGUIWindow& fullscreenWindow);
26 ~CGameWindowFullScreenText() = default;
28 // Window functions
29 void OnWindowLoaded();
30 void FrameMove();
32 /*!
33 * \brief Get a line of text
35 const std::string& GetText(unsigned int lineIndex) const;
37 /*!
38 * \brief Set a line of text
40 void SetText(unsigned int lineIndex, std::string line);
42 /*!
43 * \brief Get entire text
45 const std::vector<std::string>& GetText() const;
47 /*!
48 * \brief Set entire text
50 void SetText(std::vector<std::string> text);
52 private:
53 // Window functions
54 void UploadText();
55 void Show();
56 void Hide();
58 /*!
59 * \brief Translate line index to the control ID in the skin
61 * \param lineIndex The line in the string vector
63 * \return The ID of the line's label control in the skin
65 static int GetControlID(unsigned int lineIndex);
67 // Window functions required by GUIMessage macros
68 //! @todo Change macros into functions
69 int GetID() const;
70 bool OnMessage(CGUIMessage& message);
72 // Construction parameters
73 CGUIWindow& m_fullscreenWindow;
75 // Window state
76 bool m_bShowText = false;
77 bool m_bTextChanged = true;
78 bool m_bTextVisibilityChanged = true;
80 // Text
81 std::vector<std::string> m_lines;
83 } // namespace RETRO
84 } // namespace KODI