Add copyright notice
[forms.git] / F / F_Text_Symbol.H
blob4c839f5ceadee753bc9c138ae75e92cbfdd72aa4
2  /*
3   *   Copyright (C) 2007, Harbour, All rights reserved.
4   */
6 #ifndef _F_TEXT_SYMBOL_H_
7 #define _F_TEXT_SYMBOL_H_
9 #include <F_Types.H>
11 namespace F {
13 struct F_Text_Symbol {
15   F_Char_t  ch_;
16   F_Color color_;
18   F_Text_Symbol(F_Char_t c, F_Color_t fg, F_Color_t bg) : ch_(c) { color_.fg_ = fg; color_.bg_ = bg; }
19   F_Text_Symbol(F_Char_t c = 0x20) : ch_(c) { color_.fg_ = F_YELLOW; color_.bg_ = F_BLACK; }
20   inline void color(F_Color_t fg, F_Color_t bg) { color_.fg_ = fg; color_.bg_ = bg; }
21   inline void color(F_Color c) { color_ = c; }
22   inline F_Color color() { return color_; }
23   inline void fg(F_Color_t fg) { color_.fg_ = fg; }
24   inline void bg(F_Color_t bg) { color_.bg_ = bg; }
25   inline void ch(F_Char_t c) { ch_ = c; }
26   inline F_Color_t fg() const { return color_.fg_; }
27   inline F_Color_t bg() const { return color_.bg_; }
28   inline bool bold() const { return (color_.fg_ & F_BOLD) ? true : false; }
29   inline bool blink() const { return (color_.fg_ & F_BLINK) ? true : false; }
30   inline void bold(bool b) { if (b) color_.fg_ |= F_BOLD; else color_.fg_ &= (~F_BOLD); }
31   inline void blink(bool b) { if (b) color_.fg_ |= F_BLINK; else color_.fg_ &= (~F_BLINK); }
32   // dim / underlined
33  };
36 #endif