1 /* 2 ** Copyright 2002-2011, Double Precision Inc. 3 ** 4 ** See COPYING for distribution information. 5 */ 6 7 #ifndef curseslabel_H 8 #define curseslabel_H 9 10 #include "mycurses.H" 11 12 //////////////////////////////////////////////////////////////////////// 13 // 14 // A plain, garden variety, label. Centered, or right-aligned, perhaps. 15 // 16 // A lot of work, just for this 17 18 class CursesLabel : public Curses { 19 20 std::u32string utext; 21 22 size_t w; 23 24 void setutext(const std::string &textArg); 25 26 protected: 27 Curses::CursesAttr attribute; 28 public: 29 CursesLabel(CursesContainer *parent, 30 std::string textArg, 31 Curses::CursesAttr attributeArg=Curses::CursesAttr()); 32 ~CursesLabel(); 33 34 void setRow(int row); 35 void setCol(int col); 36 void setAlignment(Alignment alignment); 37 void setAttribute(Curses::CursesAttr attr); 38 virtual void setText(std::string textArg); 39 40 int getWidth() const; 41 int getHeight() const; 42 43 void draw(); 44 void erase(); 45 }; 46 47 #endif 48