libAlgAudio  v1.99-440-g08538e5-dirty
The development library for AlgAudio framework.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UILabel.hpp
Go to the documentation of this file.
1 #ifndef UILABEL_HPP
2 #define UILABEL_HPP
3 /*
4 This file is part of AlgAudio.
5 
6 AlgAudio, Copyright (C) 2015 CeTA - Audiovisual Technology Center
7 
8 AlgAudio is free software: you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as
10 published by the Free Software Foundation, either version 3 of the
11 License, or (at your option) any later version.
12 
13 AlgAudio is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU Lesser General Public License for more details.
17 
18 You should have received a copy of the GNU Lesser General Public License
19 along with AlgAudio. If not, see <http://www.gnu.org/licenses/>.
20 */
21 #include "UIWidget.hpp"
22 #include "Theme.hpp"
23 
24 namespace AlgAudio{
25 
26 class UILabel : public UIWidget{
27 public:
28  static std::shared_ptr<UILabel> Create(std::weak_ptr<Window> parent_window, std::string text, int size = 16);
29  void SetText(std::string);
30  void SetTextColor(Color colorname);
31  void SetTextSize(int fontsize);
32  void SetBold(bool);
34  virtual void CustomDraw(DrawContext& c) override;
35 private:
36  UILabel(std::weak_ptr<Window> parent_window, std::string text, int size = 16);
37  std::string text;
38  Color color = Theme::Get("text-generic");
39  HorizAlignment horiz_alignment = HorizAlignment_CENTERED;
40  VertAlignment vert_alignment = VertAlignment_CENTERED;
41  int fontsize;
42  bool bold = false;
43  std::shared_ptr<SDLTextTexture> texture;
44  void UpdateTexture();
45 };
46 
47 } // namespace AlgAudio
48 
49 #endif // UILABEL_HPP
Definition: UIWidget.hpp:65
Definition: Color.hpp:28
VertAlignment
Definition: Utilities.hpp:149
virtual void CustomDraw(DrawContext &c) override
Definition: DrawContext.hpp:65
static std::shared_ptr< UILabel > Create(std::weak_ptr< Window > parent_window, std::string text, int size=16)
void SetBold(bool)
void SetAlignment(HorizAlignment h, VertAlignment v=VertAlignment_CENTERED)
void SetTextColor(Color colorname)
void SetText(std::string)
void SetTextSize(int fontsize)
Definition: Alertable.hpp:26
Definition: Utilities.hpp:151
Definition: UILabel.hpp:26
Definition: Utilities.hpp:146
HorizAlignment
Definition: Utilities.hpp:144
static const Color & Get(const std::string &)