Numworks Epsilon  1.4.1
Graphing Calculator Operating System
text_view.h
Go to the documentation of this file.
1 #ifndef ESCHER_TEXT_VIEW_H
2 #define ESCHER_TEXT_VIEW_H
3 
4 #include <escher/view.h>
5 #include <kandinsky/color.h>
6 
7 class TextView : public View {
8 public:
9  // alignment = 0 -> align left or top
10  // alignment = 0.5 -> align center
11  // alignment = 1.0 -> align right or bottom
12  TextView(KDText::FontSize size = KDText::FontSize::Large, float horizontalAlignment = 0.0f, float verticalAlignment = 0.0f,
13  KDColor textColor = KDColorBlack, KDColor backgroundColor = KDColorWhite);
14  void drawRect(KDContext * ctx, KDRect rect) const override;
15  void setBackgroundColor(KDColor backgroundColor);
16  void setTextColor(KDColor textColor);
17  void setAlignment(float horizontalAlignment, float verticalAlignment);
18  KDSize minimalSizeForOptimalDisplay() const override;
19  virtual const char * text() const = 0;
20  virtual void setText(const char * text) = 0;
21  void setFontSize(KDText::FontSize fontSize);
22 protected:
23 #if ESCHER_VIEW_LOGGING
24  const char * className() const override;
25 #endif
27 private:
28  float m_horizontalAlignment;
29  float m_verticalAlignment;
30  KDColor m_textColor;
31  KDColor m_backgroundColor;
32 };
33 
34 #endif
KDText::FontSize m_fontSize
Definition: text_view.h:26
TextView(KDText::FontSize size=KDText::FontSize::Large, float horizontalAlignment=0.0f, float verticalAlignment=0.0f, KDColor textColor=KDColorBlack, KDColor backgroundColor=KDColorWhite)
Definition: text_view.cpp:3
virtual void setText(const char *text)=0
Definition: size.h:6
constexpr KDColor KDColorWhite
Definition: color.h:42
void drawRect(KDContext *ctx, KDRect rect) const override
Definition: text_view.cpp:39
virtual const char * text() const =0
constexpr KDColor KDColorBlack
Definition: color.h:41
Definition: rect.h:26
Definition: color.h:6
Definition: view.h:23
void setAlignment(float horizontalAlignment, float verticalAlignment)
Definition: text_view.cpp:24
void setTextColor(KDColor textColor)
Definition: text_view.cpp:19
void setFontSize(KDText::FontSize fontSize)
Definition: text_view.cpp:30
void setBackgroundColor(KDColor backgroundColor)
Definition: text_view.cpp:14
FontSize
Definition: text.h:10
KDSize minimalSizeForOptimalDisplay() const override
Definition: text_view.cpp:35