supertux
tip.hpp
1 // SuperTux
2 // Copyright (C) 2015 Hume2 <teratux.mail@gmail.com>
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef HEADER_SUPERTUX_EDITOR_TIP_HPP
18 #define HEADER_SUPERTUX_EDITOR_TIP_HPP
19 
20 #include <string>
21 #include <vector>
22 
23 #include "math/fwd.hpp"
24 
25 class DrawingContext;
26 class GameObject;
27 
28 class Tip final
29 {
30 public:
31  Tip();
32 
33  void draw(DrawingContext& context, const Vector& pos, const bool align_right = false);
34  void draw_up(DrawingContext& context, const Vector& pos, const bool align_right = false);
35  void set_info(const std::string& text);
36  void set_info(const std::string& header, const std::vector<std::string>& text);
37  void set_info_for_object(GameObject& object);
38  void set_visible(bool visible) { m_visible = visible; }
39  bool get_visible() const { return m_visible; }
40 
41 private:
42  std::vector<std::string> m_strings;
43  std::vector<std::string> m_warnings;
44  std::string m_header;
45  bool m_visible;
46 
47 private:
48  Tip(const Tip&) = delete;
49  Tip& operator=(const Tip&) = delete;
50 };
51 
52 #endif
53 
54 /* EOF */
Definition: tip.hpp:28
This class is responsible for: Updating and drawing the object.
Definition: game_object.hpp:83
This class provides functions for drawing things on screen.
Definition: drawing_context.hpp:42