34        virtual wchar_t get_character() 
const = 0;
 
   36        virtual int32_t get_thickness() 
const = 0;
 
   39        virtual void set_back_digit_opacity(
double value) = 0;
 
   40        virtual void set_character(
wchar_t value) = 0;
 
   43        virtual void set_show_back_digit(
bool value) = 0;
 
   44        virtual void set_thickness(int32_t value) = 0;
 
   49        dot_matrix_display_digit() = 
default;
 
   51        wchar_t get_character()
 const override {
return character_;}
 
   52        xtd::ustring get_valid_characters()
 const override {
return "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=+-*/%\\_°\"'[](){}<>| .,:;!?&$€";}
 
   57        void set_character(
wchar_t value)
 override {
 
   58          static std::map<wchar_t, dot_matrix_display::points_collection> characters {
 
   59            {
'0', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {4, 2}, {5, 2}, {1, 3}, {3, 3}, {5, 3}, {1, 4}, {2, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   60            {
'1', {{3, 0}, {2, 1}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
   61            {
'2', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {5, 2}, {4, 3}, {3, 4}, {2, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   62            {
'3', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {5, 2}, {2, 3}, {3, 3}, {4, 3}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   63            {
'4', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {5, 4}, {5, 5}, {5, 6}}},
 
   64            {
'5', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {1, 1}, {1, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 4}, {5, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}},
 
   65            {
'6', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {1, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   66            {
'7', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {5, 1}, {5, 2}, {4, 3}, {4, 4}, {3, 5}, {3, 6}}},
 
   67            {
'8', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   68            {
'9', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {2, 3}, {3, 3}, {4, 3}, {5, 4}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   69            {
'A', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   70            {
'B', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}},
 
   71            {
'C', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 6}, {3, 6}, {5, 5}, {4, 6}}},
 
   72            {
'D', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}},
 
   73            {
'E', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {1, 1}, {1, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {1, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   74            {
'F', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {1, 1}, {1, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {1, 5}, {1, 6}}},
 
   75            {
'G', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {1, 2}, {1, 3}, {4, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   76            {
'H', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   77            {
'I', {{3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
   78            {
'J', {{5, 0}, {5, 1}, {5, 2}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   79            {
'K', {{1, 0}, {5, 0}, {1, 1}, {4, 1}, {1, 2}, {3, 2}, {1, 3}, {2, 3}, {1, 4}, {3, 4}, {1, 5}, {4, 5}, {1, 6}, {5, 6}}},
 
   80            {
'L', {{1, 0}, {1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   81            {
'M', {{1, 0}, {5, 0}, {1, 1}, {2, 1}, {4, 1}, {5, 1}, {1, 2}, {3, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   82            {
'N', {{1, 0}, {5, 0}, {1, 1}, {2, 1}, {5, 1}, {1, 2}, {3, 2}, {5, 2}, {1, 3}, {4, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   83            {
'O', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   84            {
'P', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {1, 5}, {1, 6}}},
 
   85            {
'Q', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {4, 5}, {2, 6}, {3, 6}, {5, 6}}},
 
   86            {
'R', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {1, 4}, {3, 4}, {1, 5}, {4, 5}, {1, 6}, {5, 6}}},
 
   87            {
'S', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {2, 3}, {3, 3}, {4, 3}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   88            {
'T', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
   89            {
'U', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
   90            {
'V', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {2, 3}, {4, 3}, {2, 4}, {4, 4}, {3, 5}, {3, 6}}},
 
   91            {
'W', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {1, 2}, {3, 2}, {5, 2}, {1, 3}, {3, 3}, {5, 3}, {1, 4}, {3, 4}, {5, 4}, {1, 5}, {2, 5}, {4, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   92            {
'X', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {2, 2}, {4, 2}, {3, 3}, {2, 4}, {4, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
   93            {
'Y', {{1, 0}, {5, 0}, {1, 1}, {5, 1}, {2, 2}, {4, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
   94            {
'Z', {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {5, 1}, {4, 2}, {3, 3}, {2, 4}, {1, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   95            {
'a', {{2, 2}, {3, 2}, {4, 2}, {5, 3}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   96            {
'b', {{1, 0}, {1, 1}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}},
 
   97            {
'c', {{2, 2}, {3, 2}, {4, 2}, {5, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   98            {
'd', {{5, 0}, {5, 1}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
   99            {
'e', {{2, 2}, {3, 2}, {4, 2}, {1, 3}, {5, 3}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {1, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
  100            {
'f', {{3, 0}, {4, 0}, {2, 1}, {2, 2}, {3, 2}, {2, 3}, {2, 4}, {2, 5}, {2, 6}}},
 
  101            {
'g', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
  102            {
'h', {{1, 0}, {1, 1}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
  103            {
'i', {{3, 0}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
  104            {
'j', {{4, 0}, {4, 2}, {4, 3}, {4, 4}, {4, 5}, {2, 6}, {3, 6}}},
 
  105            {
'k', {{1, 0}, {1, 1}, {1, 2}, {5, 2}, {1, 3}, {4, 3}, {1, 4}, {2, 4}, {3, 4}, {1, 5}, {4, 5}, {1, 6}, {5, 6}}},
 
  106            {
'l', {{3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {4, 6}}},
 
  107            {
'm', {{2, 2}, {4, 2}, {1, 3}, {3, 3}, {5, 3}, {1, 4}, {3, 4}, {5, 4}, {1, 5}, {3, 5}, {5, 5}, {1, 6}, {3, 6}, {5, 6}}},
 
  108            {
'n', {{2, 2}, {3, 2}, {4, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {1, 6}, {5, 6}}},
 
  109            {
'o', {{2, 2}, {3, 2}, {4, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
  110            {
'p', {{1, 1}, {2, 1}, {3, 1}, {4, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {1, 5}, {1, 6}}},
 
  111            {
'q', {{2, 1}, {3, 1}, {4, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {5, 5}, {5, 6}}},
 
  112            {
'r', {{2, 2}, {3, 2}, {4, 2}, {5, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}}},
 
  113            {
's', {{2, 2}, {3, 2}, {4, 2}, {5, 2}, {1, 3}, {2, 4}, {3, 4}, {4, 4}, {5, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}},
 
  114            {
't', {{3, 0}, {3, 1}, {2, 2}, {3, 2}, {4, 2}, {3, 3}, {3, 4}, {3, 5}, {4, 6}, {5, 6}}},
 
  115            {
'u', {{1, 2}, {5, 2}, {1, 3}, {5, 3}, {1, 4}, {5, 4}, {1, 5}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
  116            {
'v', {{1, 2}, {5, 2}, {1, 3}, {5, 3}, {2, 4}, {4, 4}, {2, 5}, {4, 5}, {3, 6}}},
 
  117            {
'w', {{1, 2}, {3, 2}, {5, 2}, {1, 3}, {3, 3}, {5, 3}, {1, 4}, {3, 4}, {5, 4}, {1, 5}, {3, 5}, {5, 5}, {2, 6}, {4, 6}}},
 
  118            {
'x', {{1, 2}, {5, 2}, {2, 3}, {4, 3}, {3, 4}, {2, 5}, {4, 5}, {1, 6}, {5, 6}}},
 
  119            {
'y', {{1, 1}, {5, 1}, {1, 2}, {5, 2}, {1, 3}, {5, 3}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {5, 5}, {2, 6}, {3, 6}, {4, 6}}},
 
  120            {
'z', {{1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {4, 3}, {3, 4}, {2, 5}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
  121            {
'=', {{1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}},
 
  122            {
'+', {{3, 1}, {3, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {3, 4}, {3, 5}}},
 
  123            {
'-', {{1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}},
 
  124            {
'*', {{3, 0}, {1, 1}, {3, 1}, {5, 1}, {2, 2}, {3, 2}, {4, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {2, 4}, {3, 4}, {4, 4}, {1, 5}, {3, 5}, {5, 5}, {3, 6}}},
 
  125            {
'/', {{5, 1}, {4, 2}, {3, 3}, {2, 4}, {1, 5}}},
 
  126            {
'%', {{1, 0}, {2, 0}, {1, 1}, {2, 1}, {5, 1}, {4, 2}, {3, 3}, {2, 4}, {1, 5}, {4, 5}, {5, 5}, {4, 6}, {5, 6}}},
 
  127            {
'\\', {{1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}}},
 
  128            {
'_', {{1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}},
 
  129            {L
'\u00B0', {{2, 0}, {3, 0}, {1, 1}, {4, 1}, {1, 2}, {4, 2}, {2, 3}, {3, 3}}},
 
  130            {
'"', {{2, 0}, {5, 0}, {2, 1}, {5, 1}, {1, 2}, {4, 2}}},
 
  131            {
'\'', {{3, 0}, {3, 1}, {2, 2}}},
 
  132            {
'[', {{3, 0}, {4, 0}, {5, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}, {4, 6}, {5, 6}}},
 
  133            {
']', {{1, 0}, {2, 0}, {3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {1, 6}, {2, 6}, {3, 6}}},
 
  134            {
'(', {{4, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {4, 6}}},
 
  135            {
')', {{2, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {2, 6}}},
 
  136            {
'{', {{4, 0}, {5, 0}, {3, 1}, {3, 2}, {2, 3}, {3, 4}, {3, 5}, {4, 6}, {5, 6}}},
 
  137            {
'}', {{1, 0}, {2, 0}, {3, 1}, {3, 2}, {4, 3}, {3, 4}, {3, 5}, {1, 6}, {2, 6}}},
 
  138            {
'<', {{4, 1}, {3, 2}, {2, 3}, {3, 4}, {4, 5}}},
 
  139            {
'>', {{2, 1}, {3, 2}, {4, 3}, {3, 4}, {2, 5}}},
 
  140            {
'|', {{3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {3, 6}}},
 
  143            {
',', {{3, 5}, {2, 6}}},
 
  144            {
':', {{3, 1}, {3, 5}}},
 
  145            {
';', {{3, 2}, {3, 5}, {2, 6}}},
 
  146            {
'!', {{3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 6}}},
 
  147            {
'?', {{2, 0}, {3, 0}, {4, 0}, {1, 1}, {5, 1}, {5, 2}, {4, 3}, {3, 4}, {3, 6}}},
 
  148            {
'&', {{2, 0}, {3, 0}, {1, 1}, {4, 1}, {1, 2}, {4, 2}, {2, 3}, {3, 3}, {5, 3}, {1, 4}, {4, 4}, {1, 5}, {4, 5}, {2, 6}, {3, 6}, {5, 6}}},
 
  149            {
'$', {{3, 0}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {1, 2}, {3, 2}, {2, 3}, {3, 3}, {4, 3}, {3, 4}, {5, 4}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {3, 6}}},
 
  150            {L
'\u20AC', {{3, 0}, {4, 0}, {5, 0}, {2, 1}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {2, 3}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {2, 5}, {3, 6}, {4, 6}, {5, 6}}},
 
  152          if (character_ != value) {
 
  153            auto it = characters.find(value);
 
  165        wchar_t character_ = 
' ';
 
  170        fourteen_segment_display_digit() = 
default;
 
  172        wchar_t get_character()
 const override {
return character_;}
 
  173        xtd::ustring get_valid_characters()
 const override {
return "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=+-*/\\_°\"'[]()| .,:";}
 
  178        void set_character(
wchar_t value)
 override {
 
  179          static std::map<wchar_t, forms::segments> characters {
 
  262          if (character_ != 
value) {
 
  263            auto it = characters.find(
value);
 
  275        wchar_t character_ = 
' ';
 
  280        nine_segment_display_digit() = 
default;
 
  282        wchar_t get_character()
 const override {
return character_;}
 
  283        xtd::ustring get_valid_characters()
 const override {
return "0123456789ABCDEFGHIJLNOPQRSTUYabcdefghijlnopqrstuy=-_°\"'[]| .,:";}
 
  288        void set_character(
wchar_t value)
 override {
 
  289          static std::map<wchar_t, forms::segments> characters {
 
  352          if (character_ != 
value) {
 
  353            auto it = characters.find(
value);
 
  365        wchar_t character_ = 
' ';
 
  370        seven_segment_display_digit() = 
default;
 
  372        wchar_t get_character()
 const override {
return character_;}
 
  373        xtd::ustring get_valid_characters()
 const override {
return "0123456789ABCDEFGHIJLNOPQRSTUYabcdefghijlnopqrstuy=-_°\"'[]| .,:";}
 
  378        void set_character(
wchar_t value)
 override {
 
  379          static std::map<wchar_t, forms::segments> characters {
 
  442          if (character_ != 
value) {
 
  443            auto it = characters.find(
value);
 
  455        wchar_t character_ = 
' ';
 
  460        sixteen_segment_display_digit() = 
default;
 
  462        wchar_t get_character()
 const override {
return character_;}
 
  463        xtd::ustring get_valid_characters()
 const override {
return "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=+-*/\\_°\"'[]()| .,:";}
 
  468        void set_character(
wchar_t value)
 override {
 
  469          static std::map<wchar_t, forms::segments> characters {
 
  552          if (character_ != 
value) {
 
  553            auto it = characters.find(
value);
 
  565        wchar_t character_ = 
' ';
 
  584        if (!back_digit_color_.has_value() || back_digit_color_.value() != value) {
 
  585          back_digit_color_ = value;
 
  600        if (back_digit_opacity_ != value) {
 
  601          back_digit_opacity_ = value;
 
  614        if (show_back_digit_ != value) {
 
  615          show_back_digit_ = value;
 
  630        if (digit_spacing_ != value) {
 
  631          digit_spacing_ = value;
 
  644        if (lcd_style_ != value) {
 
  660        if (segment_style_ != value) {
 
  661          segment_style_ = value;
 
  662          for (
auto& digit : digits_)
 
  663            digit->set_segment_style(value);
 
  675        if (dot_matrix_style_ != value) {
 
  676          dot_matrix_style_ = value;
 
  677          for (
auto& digit : digits_)
 
  678            digit->set_dot_matrix_style(value);
 
  685      int32_t 
thickness()
 const {
return thickness_.value_or(digits_.size() ? digits_[0]->get_thickness() : 1);}
 
  690        if (thickness_ != value) {
 
  702        if (text_ != value) {
 
  704          std::wstring str = std::wstring_convert<std::codecvt_utf8<wchar_t>, 
wchar_t>().from_bytes(value.c_str());
 
  705          if (str.size() < digits_.size())
 
  706            digits_.erase(digits_.begin() + value.size(), digits_.end());
 
  707          if (str.size() > digits_.size())
 
  708            for (
size_t index = digits_.size(); index < str.size(); index++) {
 
  709              switch (lcd_style_) {
 
  717              dynamic_cast<control*
>(digits_[digits_.size() - 1].get())->
parent(*
this);
 
  723          for (
size_t index = 0; index < str.size(); index++)
 
  724            digits_[index]->set_character(str[index]);
 
  736        switch (lcd_style_) {
 
  775        if (digits_.size() == 0) 
return {0, size_.
height()};
 
  780      void set_digits_params() {
 
  781        int32_t offset_left = 0;
 
  782        for (
auto& digit : digits_) {
 
  784          dynamic_cast<control*
>(digit.get())->
left(offset_left);
 
  786          digit->set_back_digit_opacity(back_digit_opacity_);
 
  787          digit->set_show_back_digit(show_back_digit_);
 
  788          digit->set_segment_style(segment_style_);
 
  789          digit->set_dot_matrix_style(dot_matrix_style_);
 
  790          if (thickness_.has_value()) digit->set_thickness(
thickness());
 
  795      bool show_back_digit_ = 
true;
 
  796      std::optional<xtd::drawing::color> back_digit_color_;
 
  797      double back_digit_opacity_ = 0.95;
 
  798      std::optional<int32_t> digit_spacing_;
 
  802      std::vector<std::shared_ptr<idigit>> digits_;
 
  803      std::optional<int32_t> thickness_;
 
Contains xtd::argument_out_of_range_exception exception.
 
The exception that is thrown when one of the arguments provided to a method is not valid.
Definition: argument_exception.h:19
 
The exception that is thrown when one of the arguments provided to a method is out of range.
Definition: argument_out_of_range_exception.h:18
 
Represents an ARGB (alpha, red, green, blue) color.
Definition: color.h:39
 
Stores an ordered pair of integers, which specify a height and width.
Definition: size.h:25
 
int32_t height() const
Gets he vertical component of this Size Class.
Definition: size.h:57
 
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition: event_args.h:18
 
static const event_args empty
Provides a value to use with events that do not have event data.
Definition: event_args.h:31
 
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
 
Contains xtd::forms::control control.
 
Contains xtd::forms::dot_matrix_display control.
 
Contains xtd::forms::fourteen_segment_display control.
 
virtual void on_click(const event_args &e)
Raises the control::click event.
 
virtual void on_back_color_changed(const event_args &e)
Raises the control::back_color_changed event.
 
virtual void on_size_changed(const event_args &e)
Raises the control::size_changed event.
 
virtual void on_mouse_up(const mouse_event_args &e)
Raises the control::mouse_up event.
 
virtual void on_handle_created(const event_args &e)
Raises the control::handle_created event.
 
event< control, event_handler > click
Occurs when the control is clicked.
Definition: control.h:1065
 
event< control, mouse_event_handler > mouse_down
Occurs when the mouse pointer is over the control and a mouse button is pressed.
Definition: control.h:1278
 
virtual void on_resize(const event_args &e)
Raises the control::resize event.
 
virtual void on_fore_color_changed(const event_args &e)
Raises the control::fore_color_changed event.
 
event< control, mouse_event_handler > mouse_move
Occurs when the mouse pointer is moved over the control.
Definition: control.h:1335
 
virtual void on_mouse_down(const mouse_event_args &e)
Raises the control::mouse_down event.
 
event< control, mouse_event_handler > mouse_up
Occurs when the mouse pointer is over the control and a mouse button is released.
Definition: control.h:1349
 
virtual void on_mouse_move(const mouse_event_args &e)
Raises the control::mouse_move event.
 
#define interface_
This keyword is use to represent an interface.
Definition: interface.h:55
 
#define current_stack_frame_
Provides information about the current stack frame.
Definition: stack_frame.h:201
 
Contains xtd::interface interface.
 
Contains xtd::forms::lcd_style enum class.
 
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
 
Contains xtd::forms::nine_segment_display control.
 
Contains xtd::forms::seven_segment_display control.
 
Contains xtd::forms::sixteen_segment_display control.